ZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9idWlsZGVyL2J1aWxkZXJfMC4xLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2J1aWxkZXIvYnVpbGRlcl8wLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmI3MjlmYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9idWlsZGVyL2J1aWxkZXJfMC4xLmJiCkBAIC0wLDAgKzEsMzMgQEAKK1NVTU1BUlkgPSAiTmV3IHVzZXIgdG8gZG8gc3BlY2lmaWMgam9iIgorREVTQ1JJUFRJT04gPSAiVGhpcyByZWNpcGUgY3JlYXRlIGEgbmV3IHVzZXIgbmFtZWQgJHtQTn0sIHdobyBpcyB1c2VkIGZvciBzcGVjaWZpYyBqb2JzIGxpa2UgYnVpbGRpbmcuIFRoZSB0YXNrIGNhbiBiZSBhdXRvIHN0YXJ0ZWQgdmlhIG1pbmkgWCIKK1NFQ1RJT04gPSAieDExIgorUFIgPSAicjYiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2J1aWxkZXJfaG9iX3N0YXJ0LnNoO2VuZGxpbmU9NTttZDU9ODQ3OTZjM2M0MTc4NWQ4NjEwMGZkYWJjYmRhZGUwMGUiCisKK1NSQ19VUkkgPSAiZmlsZTovL2J1aWxkZXJfaG9iX3N0YXJ0LnNoIFwKKyAgICAgICAgICAgZmlsZTovL3BsZWFzZV93YWl0X2RpYWxvZy5weSBcCisgICAgICAgICAgIgorCitTID0gIiR7V09SS0RJUn0iCisKK1JERVBFTkRTXyR7UE59ID0gIm1pbmkteC1zZXNzaW9uIgorCitpbmhlcml0IHVzZXJhZGQKKworIyBidWlsZGVyIHVzZXIgcGFzc3dvcmQgaXMgImJ1aWxkZXIiCitCVUlMREVSX1BBU1NXT1JEID89ICIuZ0xpYmlOWG4wUDEyIgorVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK1VTRVJBRERfUEFSQU1fJHtQTn0gPSAiLS1zeXN0ZW0gLS1jcmVhdGUtaG9tZSBcCisgICAgICAgICAgICAgICAgICAgICAgIC0tZ3JvdXBzIHZpZGVvLHR0eSxhdWRpbyBcCisgICAgICAgICAgICAgICAgICAgICAgIC0tcGFzc3dvcmQgJHtCVUlMREVSX1BBU1NXT1JEfSBcCisgICAgICAgICAgICAgICAgICAgICAgIC0tdXNlci1ncm91cCBidWlsZGVyIgorCitkb19pbnN0YWxsICgpIHsKKwlpbnN0YWxsIC1kIC1tIDc1NSAke0R9JHtzeXNjb25mZGlyfS9taW5pX3gvc2Vzc2lvbi5kCisJaW5zdGFsbCAtcCAtbSA3NTUgYnVpbGRlcl9ob2Jfc3RhcnQuc2ggJHtEfSR7c3lzY29uZmRpcn0vbWluaV94L3Nlc3Npb24uZC8KKworCWNob3duICBidWlsZGVyLmJ1aWxkZXIgJHtEfSR7c3lzY29uZmRpcn0vbWluaV94L3Nlc3Npb24uZC9idWlsZGVyX2hvYl9zdGFydC5zaAorICAgICAgICBpbnN0YWxsIC1wIC1tIDc1NSBwbGVhc2Vfd2FpdF9kaWFsb2cucHkgJHtEfSR7c3lzY29uZmRpcn0vbWluaV94Cit9CisKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9idWlsZGVyL2ZpbGVzL2J1aWxkZXJfaG9iX3N0YXJ0LnNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2J1aWxkZXIvZmlsZXMvYnVpbGRlcl9ob2Jfc3RhcnQuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjM5NGIwOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9idWlsZGVyL2ZpbGVzL2J1aWxkZXJfaG9iX3N0YXJ0LnNoCkBAIC0wLDAgKzEsMzcgQEAKKyMhL2Jpbi9zaAorI1RoaXMgc2NyaXB0IHdpbGwgYmUgY2FsbGVkIHZpYSBtaW5pIFggc2Vzc2lvbiBvbiBiZWhhbGYgb2YgZmlsZSBvd25lciwgYWZ0ZXIKKyNpbnN0YWxsZWQgaW4gL2V0Yy9taW5pX3gvc2Vzc2lvbi5kLy4gQW55IGF1dG8gc3RhcnQgam9icyBpbmNsdWRpbmcgWCBhcHBzIGNhbgorI2JlIHB1dCBoZXJlCisKKyMgc3RhcnQgaG9iIGhlcmUKK2V4cG9ydCBQU0VVRE9fUFJFRklYPS91c3IKK2V4cG9ydCBQU0VVRE9fTE9DQUxTVEFURURJUj0vaG9tZS9idWlsZGVyL3BzZXVkbworZXhwb3J0IFBTRVVET19MSUJESVI9L3Vzci9saWIvcHNldWRvL2xpYjY0CitleHBvcnQgR0lUX1BST1hZX0NPTU1BTkQ9L2hvbWUvYnVpbGRlci9wb2t5L3NjcmlwdHMvb2UtZ2l0LXByb3h5CisKKyNzdGFydCBwY21hbmZtIGluIGRhZW1vbiBtb2RlIHRvIGFsbG93IGFzeW5jaHJvbm91cyBsYXVuY2gKK3BjbWFuZm0gLWQmCisKKyNyZWdpc3RlciBoYW5kbGVycyBmb3Igc29tZSBmaWxlIHR5cGVzCitpZiBbICEgLWQgL2hvbWUvYnVpbGRlci8ubG9jYWwvc2hhcmUvYXBwbGljYXRpb25zIF07IHRoZW4KKyAgICBta2RpciAtcCAvaG9tZS9idWlsZGVyLy5sb2NhbC9zaGFyZS9hcHBsaWNhdGlvbnMvCisgICAgI3JlZ2lzdGVyIGZvbGRlcnMgdG8gb3BlbiB3aXRoIFBDTWFuRk0gZmlsZW1hbmFnZXIKKyAgICB4ZGctbWltZSBkZWZhdWx0IHBjbWFuZm0uZGVza3RvcCBpbm9kZS9kaXJlY3RvcnkKKworICAgICNyZWdpc3RlciBodG1sIGxpbmtzIGFuZCBmaWxlcyB3aXRoIGVwaXBoYW55CisgICAgeGRnLW1pbWUgZGVmYXVsdCBlcGlwaGFueS5kZXNrdG9wIHgtc2NoZW1lLWhhbmRsZXIvaHR0cAorICAgIHhkZy1taW1lIGRlZmF1bHQgZXBpcGhhbnkuZGVza3RvcCB4LXNjaGVtZS1oYW5kbGVyL2h0dHBzCisgICAgeGRnLW1pbWUgZGVmYXVsdCBlcGlwaGFueS5kZXNrdG9wIHRleHQvaHRtbAorCisgICAgI3JlZ2lzdGVyIHRleHQgZmlsZXMgd2l0aCBsZWFmcGFkIHRleHQgZWRpdG9yCisgICAgeGRnLW1pbWUgZGVmYXVsdCBsZWFmcGFkLmRlc2t0b3AgdGV4dC9wbGFpbgorZmkKKworY2QgL2hvbWUvYnVpbGRlci9wb2t5CisuIC4vb2UtaW5pdC1idWlsZC1lbnYKKworaG9iICYKKworbWF0Y2hib3gtdGVybWluYWwmCisKKy9ldGMvbWluaV94L3BsZWFzZV93YWl0X2RpYWxvZy5weSAmCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvYnVpbGRlci9maWxlcy9wbGVhc2Vfd2FpdF9kaWFsb2cucHkgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvYnVpbGRlci9maWxlcy9wbGVhc2Vfd2FpdF9kaWFsb2cucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQyMzgxYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9idWlsZGVyL2ZpbGVzL3BsZWFzZV93YWl0X2RpYWxvZy5weQpAQCAtMCwwICsxLDI4IEBACisjIS91c3IvYmluL2VudiBweXRob24KK2ltcG9ydCBnbGliCitpbXBvcnQgZ3RrCisgCitkZWYgZGVzdHJveV93aW5kb3dfY2Iod2lkZ2V0LCBldmVudCk6CisgICAgZ3RrLm1haW5fcXVpdCgpCisgCitkZWYgYWxsX2RvbmVfY2IoKToKKyAgICBndGsubWFpbl9xdWl0KCkKKyAKK2RlZiBkaWFsb2d1ZV91aSgpOgorICAgIHdpbmRvdyA9IGd0ay5XaW5kb3coKQorICAgIHdpbmRvdy5zZXRfdGl0bGUoIlBsZWFzZSB3YWl0Li4uIikKKyAgICB3aW5kb3cuY29ubmVjdCgiZGVsZXRlLWV2ZW50IiwgZGVzdHJveV93aW5kb3dfY2IpCisgICAgd2luZG93LnNob3coKQorICAgIHdpbmRvdy5zZXRfYm9yZGVyX3dpZHRoKDEyKQorIAorICAgIG1zZyA9ICJQbGVhc2Ugd2FpdCB3aGlsZSBCaXRCYWtlIGluaXRpYWxpemVzIEhvYiIKKyAgICBsYWJlbCA9IGd0ay5MYWJlbChtc2cpCisgICAgbGFiZWwuc2hvdygpCisgICAgd2luZG93LmFkZChsYWJlbCkKKyAKKyAgICBnbGliLnRpbWVvdXRfYWRkX3NlY29uZHMoMTAsIGFsbF9kb25lX2NiKQorIAoraWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICBkaWFsb2d1ZV91aSgpCisgICAgZ3RrLm1haW4oKQorCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2Fpcm8vY2Fpcm8tZnB1LmluYyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyby1mcHUuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmNzJlODkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2Fpcm8vY2Fpcm8tZnB1LmluYwpAQCAtMCwwICsxLDYgQEAKKworZGVmIGdldF9jYWlyb19mcHVfc2V0dGluZyhiYiwgZCk6CisgICAgaWYgZC5nZXRWYXIoJ1RBUkdFVF9GUFUnLCBUcnVlKSBpbiBbICdzb2Z0JyBdOgorICAgICAgICByZXR1cm4gIi0tZGlzYWJsZS1zb21lLWZsb2F0aW5nLXBvaW50IgorICAgIHJldHVybiAiIgorCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2Fpcm8vY2Fpcm8uaW5jIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZTQ1MzE4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NhaXJvL2NhaXJvLmluYwpAQCAtMCwwICsxLDQ1IEBACitTVU1NQVJZID0gIlRoZSBDYWlybyAyRCB2ZWN0b3IgZ3JhcGhpY3MgbGlicmFyeSIKK0RFU0NSSVBUSU9OID0gIkNhaXJvIGlzIGEgbXVsdGktcGxhdGZvcm0gbGlicmFyeSBwcm92aWRpbmcgYW50aS1hbGlhc2VkIFwKK3ZlY3Rvci1iYXNlZCByZW5kZXJpbmcgZm9yIG11bHRpcGxlIHRhcmdldCBiYWNrZW5kcy4gUGF0aHMgY29uc2lzdCBcCitvZiBsaW5lIHNlZ21lbnRzIGFuZCBjdWJpYyBzcGxpbmVzIGFuZCBjYW4gYmUgcmVuZGVyZWQgYXQgYW55IHdpZHRoIFwKK3dpdGggdmFyaW91cyBqb2luIGFuZCBjYXAgc3R5bGVzLiBBbGwgY29sb3JzIG1heSBiZSBzcGVjaWZpZWQgd2l0aCBcCitvcHRpb25hbCB0cmFuc2x1Y2VuY2UgKG9wYWNpdHkvYWxwaGEpIGFuZCBjb21iaW5lZCB1c2luZyB0aGUgXAorZXh0ZW5kZWQgUG9ydGVyL0R1ZmYgY29tcG9zaXRpbmcgYWxnZWJyYSBhcyBmb3VuZCBpbiB0aGUgWCBSZW5kZXIgXAorRXh0ZW5zaW9uLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9jYWlyb2dyYXBoaWNzLm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnIgorU0VDVElPTiA9ICJsaWJzIgorTElDRU5TRSA9ICJNUEwtMSAmIExHUEx2Mi4xICYgR1BMdjMrIgorTElDRU5TRV8ke1BOfSA9ICJNUEwtMSAmIExHUEx2Mi4xIgorTElDRU5TRV8ke1BOfS1kZXYgPSAiTVBMLTEgJiBMR1BMdjIuMSIKK0xJQ0VOU0VfJHtQTn0tZ29iamVjdCA9ICJNUEwtMSAmIExHUEx2Mi4xIgorTElDRU5TRV8ke1BOfS1wZXJmLXV0aWxzID0gIkdQTHYzKyIKK1gxMURFUEVORFMgPSAidmlydHVhbC9saWJ4MTEgbGlic20gbGlieHJlbmRlciBsaWJ4ZXh0IgorREVQRU5EUyA9ICJsaWJwbmcgZm9udGNvbmZpZyBwaXhtYW4gZ2xpYi0yLjAgemxpYiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMSB4Y2InLCAnJywgZCl9IFwKKyAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdkaXJlY3RmYicsICdkaXJlY3RmYicsICcnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteD15ZXMgLWVuYWJsZS14bGliLC0td2l0aC14PW5vIC0tZGlzYWJsZS14bGliLCR7WDExREVQRU5EU30iCitQQUNLQUdFQ09ORklHW3hjYl0gPSAiLS1lbmFibGUteGNiLC0tZGlzYWJsZS14Y2IsbGlieGNiIgorUEFDS0FHRUNPTkZJR1tkaXJlY3RmYl0gPSAiLS1lbmFibGUtZGlyZWN0ZmI9eWVzLCxkaXJlY3RmYiIKK1BBQ0tBR0VDT05GSUdbdmFsZ3JpbmRdID0gIi0tZW5hYmxlLXZhbGdyaW5kPXllcywtLWRpc2FibGUtdmFsZ3JpbmQsdmFsZ3JpbmQiCitQQUNLQUdFQ09ORklHW2VnbF0gPSAiLS1lbmFibGUtZWdsPXllcywtLWRpc2FibGUtZWdsLHZpcnR1YWwvZWdsIgorUEFDS0FHRUNPTkZJR1tnbGVzdjJdID0gIi0tZW5hYmxlLWdsZXN2MiwtLWRpc2FibGUtZ2xlc3YyLHZpcnR1YWwvbGliZ2xlczIiCisKKyNjaGVjayBmb3IgVEFSR0VUX0ZQVT1zb2Z0IGFuZCBpbmZvcm0gY29uZmlndXJlIG9mIHRoZSByZXN1bHQgc28gaXQgY2FuIGRpc2FibGUgc29tZSBmbG9hdGluZyBwb2ludHMgCityZXF1aXJlIGNhaXJvLWZwdS5pbmMKK0VYVFJBX09FQ09ORiArPSAiJHtAZ2V0X2NhaXJvX2ZwdV9zZXR0aW5nKGJiLCBkKX0gXAorICAgICAgICAgICAgICAgICAtLWVuYWJsZS10ZWUgXAorICAgICAgICAgICAgICAgICIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKKyMgV2UgZG9uJ3QgZGVwZW5kIG9uIGJpbnV0aWxzIHNvIHdlIG5lZWQgdG8gZGlzYWJsZSB0aGlzCitleHBvcnQgYWNfY3ZfbGliX2JmZF9iZmRfb3BlbnI9Im5vIgorIyBFbnN1cmUgd2UgZG9uJ3QgZGVwZW5kIG9uIExaTworZXhwb3J0IGFjX2N2X2xpYl9sem8yX2x6bzJhX2RlY29tcHJlc3M9Im5vIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworQ0ZMQUdTICs9ICItZmZhdC1sdG8tb2JqZWN0cyIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9jYWlyby9jYWlyb18xLjE0LjIuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2Fpcm8vY2Fpcm9fMS4xNC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4MTdkYmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2Fpcm8vY2Fpcm9fMS4xNC4yLmJiCkBAIC0wLDAgKzEsNDMgQEAKK3JlcXVpcmUgY2Fpcm8uaW5jCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWU3M2U5OTllMGM3MmI1YWM5MDEyNDI0ZmExNTdhZDc3IgorCitTUkNfVVJJID0gImh0dHA6Ly9jYWlyb2dyYXBoaWNzLm9yZy9yZWxlYXNlcy9jYWlyby0ke1BWfS50YXIueHoiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlMWNkZmFmMWM2Yzk5NWM0ZDRjNTRlMDcyMTViMDExOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjOTE5ZDk5OWRkYjFiYmJlY2Q0YmJlNjUyOTljYTJhYmQyMDc5YzdlMTNkMjI0NTc3ODk1YWZhNzAwNWVjY2ViIgorCitQQUNLQUdFUyA9KyAiY2Fpcm8tZ29iamVjdCBjYWlyby1zY3JpcHQtaW50ZXJwcmV0ZXIgY2Fpcm8tcGVyZi11dGlscyIKKworU1VNTUFSWV8ke1BOfSA9ICJUaGUgQ2Fpcm8gMkQgdmVjdG9yIGdyYXBoaWNzIGxpYnJhcnkiCitERVNDUklQVElPTl8ke1BOfSA9ICJDYWlybyBpcyBhIG11bHRpLXBsYXRmb3JtIGxpYnJhcnkgcHJvdmlkaW5nIGFudGktYWxpYXNlZCBcCit2ZWN0b3ItYmFzZWQgcmVuZGVyaW5nIGZvciBtdWx0aXBsZSB0YXJnZXQgYmFja2VuZHMuIFBhdGhzIGNvbnNpc3QgXAorb2YgbGluZSBzZWdtZW50cyBhbmQgY3ViaWMgc3BsaW5lcyBhbmQgY2FuIGJlIHJlbmRlcmVkIGF0IGFueSB3aWR0aCBcCit3aXRoIHZhcmlvdXMgam9pbiBhbmQgY2FwIHN0eWxlcy4gQWxsIGNvbG9ycyBtYXkgYmUgc3BlY2lmaWVkIHdpdGggXAorb3B0aW9uYWwgdHJhbnNsdWNlbmNlIChvcGFjaXR5L2FscGhhKSBhbmQgY29tYmluZWQgdXNpbmcgdGhlIFwKK2V4dGVuZGVkIFBvcnRlci9EdWZmIGNvbXBvc2l0aW5nIGFsZ2VicmEgYXMgZm91bmQgaW4gdGhlIFggUmVuZGVyIFwKK0V4dGVuc2lvbi4iCisKK1NVTU1BUllfY2Fpcm8tZ29iamVjdCA9ICJUaGUgQ2Fpcm8gbGlicmFyeSBHT2JqZWN0IHdyYXBwZXIgbGlicmFyeSIKK0RFU0NSSVBUSU9OX2NhaXJvLWdvYmplY3QgPSAiQSBHT2JqZWN0IHdyYXBwZXIgbGlicmFyeSBmb3IgdGhlIENhaXJvIEFQSS4iCisKK1NVTU1BUllfY2Fpcm8tc2NyaXB0LWludGVycHJldGVyID0gIlRoZSBDYWlybyBsaWJyYXJ5IHNjcmlwdCBpbnRlcnByZXRlciIKK0RFU0NSSVBUSU9OX2NhaXJvLXNjcmlwdC1pbnRlcnByZXRlciA9ICJUaGUgQ2Fpcm8gc2NyaXB0IGludGVycHJldGVyIGltcGxlbWVudHMgXAorQ2Fpcm9TY3JpcHQuICBDYWlyb1NjcmlwdCBpcyB1c2VkIGJ5IHRyYWNpbmcgdXRpbGl0aWVzIHRvIGVuYWJsZSB0aGUgYWJpbGl0eSBcCit0byByZXBsYXkgcmVuZGVyaW5nLiIKKworREVTQ1JJUFRJT05fY2Fpcm8tcGVyZi11dGlscyA9ICJUaGUgQ2Fpcm8gbGlicmFyeSBwZXJmb3JtYW5jZSB1dGlsaXRpZXMiCisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS9saWJjYWlyby5zby4qIgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2xpYmRpcn0vY2Fpcm8vKi5zbyIKK0ZJTEVTXyR7UE59LWdvYmplY3QgPSAiJHtsaWJkaXJ9L2xpYmNhaXJvLWdvYmplY3Quc28uKiIKK0ZJTEVTXyR7UE59LXNjcmlwdC1pbnRlcnByZXRlciA9ICIke2xpYmRpcn0vbGliY2Fpcm8tc2NyaXB0LWludGVycHJldGVyLnNvLioiCitGSUxFU18ke1BOfS1wZXJmLXV0aWxzID0gIiR7YmluZGlyfS9jYWlyby10cmFjZSAke2xpYmRpcn0vY2Fpcm8vKi5sYSAke2xpYmRpcn0vY2Fpcm8vbGliY2Fpcm8tdHJhY2Uuc28uKiIKKworZG9faW5zdGFsbF9hcHBlbmQgKCkgeworCXJtIC1yZiAke0R9JHtiaW5kaXJ9L2NhaXJvLXNwaGlueAorCXJtIC1yZiAke0R9JHtsaWJkaXJ9L2NhaXJvL2NhaXJvLWZkcioKKwlybSAtcmYgJHtEfSR7bGliZGlyfS9jYWlyby9jYWlyby1zcGhpbngqCisJcm0gLXJmICR7RH0ke2xpYmRpcn0vY2Fpcm8vLmRlYnVnL2NhaXJvLWZkcioKKwlybSAtcmYgJHtEfSR7bGliZGlyfS9jYWlyby8uZGVidWcvY2Fpcm8tc3BoaW54KgorfQpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci0xLjAuaW5jIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci0xLjAuaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhMjFjZWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLTEuMC5pbmMKQEAgLTAsMCArMSw0OCBAQAorU1VNTUFSWSA9ICJHcmFwaGljcyBsaWJyYXJ5IGZvciBjcmVhdGluZyBoYXJkd2FyZS1hY2NlbGVyYXRlZCB1c2VyIGludGVyZmFjZXMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmNsdXR0ZXItcHJvamVjdC5vcmcvIgorTElDRU5TRSA9ICJMR1BMdjIuMSsiCisKK2luaGVyaXQgY2x1dHRlciBwdGVzdC1nbm9tZQorCitERVBFTkRTID0gInBhbmdvIGdsaWItMi4wIGpzb24tZ2xpYiBhdGsgdWRldiBjb2dsLTEuMCIKK1BBQ0tBR0VfQkVGT1JFX1BOICs9ICIke1BOfS1leGFtcGxlcyIKK0FVVE9UT09MU19BVVhESVIgPSAiJHtTfS9idWlsZCIKKworRURFUEVORFNfWDExID0gInZpcnR1YWwvbGlieDExIGxpYnhpIGxpYnhmaXhlcyIKK0VERVBFTkRTX0dMWCA9ICJ2aXJ0dWFsL2xpYmdsIgorRURFUEVORFNfRUdMID0gInZpcnR1YWwvZWdsIgorRURFUEVORFNfV0FZTEFORCA9ICJ3YXlsYW5kIGxpYnhrYmNvbW1vbiBnZGstcGl4YnVmIgorCitFREVQRU5EU19FVkRFViA9ICJsaWJ4a2Jjb21tb24iCitFUkRFUEVORFNfRVZERVYgPSAieGtleWJvYXJkLWNvbmZpZyIKKworIyBEaXNhYmxlIHByZXR0eSBtdWNoIGV2ZXJ5dGhpbmcsIG92ZXJyaWRlIGluIHBsYXRmb3JtIHNwZWNpZmljIHNldCB1cAorRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtaW50cm9zcGVjdGlvbglcCisJICAgICAJIC0tZGlzYWJsZS1xdWFydHotYmFja2VuZAlcCisJICAgICAJIC0tZGlzYWJsZS13aW4zMi1iYWNrZW5kCVwKKwkgICAgIAkgLS1kaXNhYmxlLWdkay1iYWNrZW5kCQlcCisJICAgICAJIC0tZGlzYWJsZS1jZXgxMDAtYmFja2VuZAlcCisJICAgICAJIC0tZGlzYWJsZS10c2xpYi1pbnB1dAkJXAorCSAgICAJIgorCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLS1lbmFibGUteDExLWJhY2tlbmQsLS1kaXNhYmxlLXgxMS1iYWNrZW5kLCR7RURFUEVORFNfWDExfSIKK1BBQ0tBR0VDT05GSUdbZ2x4XSA9ICIsLCR7RURFUEVORFNfWDExfSAke0VERVBFTkRTX0dMWH0iCitQQUNLQUdFQ09ORklHW2VnbF0gPSAiLS1lbmFibGUtZWdsLWJhY2tlbmQsLS1kaXNhYmxlLWVnbC1iYWNrZW5kLCR7RURFUEVORFNfRUdMfSIKK1BBQ0tBR0VDT05GSUdbZXZkZXZdID0gIi0tZW5hYmxlLWV2ZGV2LWlucHV0LC0tZGlzYWJsZS1ldmRldi1pbnB1dCwke0VERVBFTkRTX0VWREVWfSwke0VSREVQRU5EU19FVkRFVn0iCitQQUNLQUdFQ09ORklHW3dheWxhbmRdID0gIi0tZW5hYmxlLXdheWxhbmQtYmFja2VuZCwtLWRpc2FibGUtd2F5bGFuZC1iYWNrZW5kLCR7RURFUEVORFNfV0FZTEFORH0iCitQQUNLQUdFQ09ORklHW3dheWxhbmQtY29tcG9zaXRvcl0gPSAiLS1lbmFibGUtd2F5bGFuZC1jb21wb3NpdG9yLC0tZGlzYWJsZS13YXlsYW5kLWNvbXBvc2l0b3Isd2F5bGFuZCIKKworIyBEZWZhdWx0IGNvbmZpZ3VyYXRpb24sIGRpc3Ryb3MgbWlnaHQgd2FudCB0byBvdmVycmlkZQorUEFDS0FHRUNPTkZJRyA/Pz0gImVnbCBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd3YXlsYW5kJywgJ3dheWxhbmQnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICdnbHggeDExJywgJycsIGQpfSIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vY2x1dHRlci9leGFtcGxlcy8uZGVidWciCitGSUxFU18ke1BOfS1leGFtcGxlcyA9ICIke2xpYmRpcn0vY2x1dHRlci9leGFtcGxlcyIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmV4ZWNkaXJ9L2luc3RhbGxlZC10ZXN0cy8uZGVidWciCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworCSMgc2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjExMjggZm9yIHRoaXMKKwl0b3VjaCAtdCAyMDAwMDEwMTAwMDAgJHtTfS9wby9jbHV0dGVyLTEuMC5wb3QKK30KZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItMS4wL2luc3RhbGwtZXhhbXBsZXMucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLTEuMC9pbnN0YWxsLWV4YW1wbGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiNmE3MGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLTEuMC9pbnN0YWxsLWV4YW1wbGVzLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK0luc3RhbGwgdGhlIGV4YW1wbGVzIHRvICRsaWJkaXIvY2x1dHRlci8uCisKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKKworZGlmZiAtLWdpdCBhL2V4YW1wbGVzL01ha2VmaWxlLmFtIGIvZXhhbXBsZXMvTWFrZWZpbGUuYW0KK2luZGV4IDRiOWI0NDkuLjIzMmNkMTkgMTAwNjQ0CistLS0gYS9leGFtcGxlcy9NYWtlZmlsZS5hbQorKysrIGIvZXhhbXBsZXMvTWFrZWZpbGUuYW0KK0BAIC0zOCw2ICszOCw3IEBAIEFNX0NQUEZMQUdTID0gXAorIAktSSQodG9wX3NyY2RpcikvY2x1dHRlciBcCisgCS1JJCh0b3BfYnVpbGRkaXIpL2NsdXR0ZXIKKyAKKy1ub2luc3RfUFJPR1JBTVMgPSAkKGFsbF9leGFtcGxlcykKKytleGFtcGxlZGlyID0gJChwa2dsaWJkaXIpL2V4YW1wbGVzCisrZXhhbXBsZV9QUk9HUkFNUyA9ICQoYWxsX2V4YW1wbGVzKQorIAorIEVYVFJBX0RJU1QgPSByZWRoYW5kLnBuZwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci0xLjAvcnVuLWluc3RhbGxlZC10ZXN0cy13aXRoLXRhcC1vdXRwdXQucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLTEuMC9ydW4taW5zdGFsbGVkLXRlc3RzLXdpdGgtdGFwLW91dHB1dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNWMxOGM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci0xLjAvcnVuLWluc3RhbGxlZC10ZXN0cy13aXRoLXRhcC1vdXRwdXQucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorRnJvbSA2NjhlMWQxNGFmMTMyNDkzODRhYjMyNGM3ZDc5ZWM0MTQ3ZjA3ZTQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSnVzc2kgS3Vra29uZW4gPGp1c3NpLmt1a2tvbmVuQGludGVsLmNvbT4KK0RhdGU6IE1vbiwgMjcgQXByIDIwMTUgMjA6MTI6MzMgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gUnVuIGluc3RhbGxlZCB0ZXN0cyB3aXRoIHRhcCBvdXRwdXQKKworQ29uZmlndXJlIG91dHB1dCBmcm9tIGluc3RhbGxlZC10ZXN0cyB0byBiZSBUQVAgY29tcGxpYW50IHN1Y2ggdGhhdAorZ25vbWUtZGVza3RvcC10ZXN0aW5nLXJ1bm5lciBwcm9wZXJseSBpbnRlcnByZXRzIHRoZSByZXN1bHRzLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogVGltIE9ybGluZyA8VGljb1RpbW9AZ21haWwuY29tPgorLS0tCisgYnVpbGQvYXV0b3Rvb2xzL2dsaWItdGFwLm1rIHwgMyArKy0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9idWlsZC9hdXRvdG9vbHMvZ2xpYi10YXAubWsgYi9idWlsZC9hdXRvdG9vbHMvZ2xpYi10YXAubWsKK2luZGV4IDdjNWY4MmIuLjg0NGUxN2UgMTAwNjQ0CistLS0gYS9idWlsZC9hdXRvdG9vbHMvZ2xpYi10YXAubWsKKysrKyBiL2J1aWxkL2F1dG90b29scy9nbGliLXRhcC5taworQEAgLTEyNyw3ICsxMjcsOCBAQCBpbnN0YWxsZWRfdGVzdF9tZXRhX0RBVEEgPSAkKGluc3RhbGxlZF90ZXN0Y2FzZXM6PS50ZXN0KQorICUudGVzdDogJSQoRVhFRVhUKSBNYWtlZmlsZQorIAkkKEFNX1ZfR0VOKSAoZWNobyAnW1Rlc3RdJyA+ICRALnRtcDsgXAorIAllY2hvICdUeXBlPXNlc3Npb24nID4+ICRALnRtcDsgXAorLQllY2hvICdFeGVjPWVudiBHX0VOQUJMRV9ESUFHTk9TVElDPTAgQ0xVVFRFUl9FTkFCTEVfRElBR05PU1RJQz0wICQoaW5zdGFsbGVkX3Rlc3RkaXIpLyQ8JyA+PiAkQC50bXA7IFwKKysJZWNobyAnRXhlYz1lbnYgR19FTkFCTEVfRElBR05PU1RJQz0wIENMVVRURVJfRU5BQkxFX0RJQUdOT1NUSUM9MCAkKGluc3RhbGxlZF90ZXN0ZGlyKS8kPCAtLXRhcCcgPj4gJEAudG1wOyBcCisrCWVjaG8gJ091dHB1dD1UQVAnID4+ICRALnRtcDsgXAorIAltdiAkQC50bXAgJEApCisgCisgQ0xFQU5GSUxFUyArPSAkKGluc3RhbGxlZF90ZXN0X21ldGFfREFUQSkKKy0tIAorMi4xLjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci0xLjAvcnVuLXB0ZXN0IGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci0xLjAvcnVuLXB0ZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4ODc3ZTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLTEuMC9ydW4tcHRlc3QKQEAgLTAsMCArMSwzIEBACisjISAvYmluL3NoCisKK2dub21lLWRlc2t0b3AtdGVzdGluZy1ydW5uZXIgY2x1dHRlcgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci0xLjBfMS4yMi40LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci0xLjBfMS4yMi40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxOGNkZmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLTEuMF8xLjIyLjQuYmIKQEAgLTAsMCArMSwxMCBAQAorcmVxdWlyZSBjbHV0dGVyLTEuMC5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NGZiZDY1MzgwY2RkMjU1OTUxMDc5MDA4YjM2NDUxNmMiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjI2NDk0MjU2Yzk4MGQ0OTcwM2E1NTM5MTZlMzA4M2NkIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiMWQ3N2NlMTYwMjVmODc2NjdhMWQwMGRjNGZhNjE3YTE5MzUxNTZmNjNmZDE3NjM1ZmRhZGYxMzg4NjZjOWUxZSIKKworU1JDX1VSSSArPSAiZmlsZTovL2luc3RhbGwtZXhhbXBsZXMucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL3J1bi1pbnN0YWxsZWQtdGVzdHMtd2l0aC10YXAtb3V0cHV0LnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9ydW4tcHRlc3QiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWdzdC0zLjAuaW5jIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1nc3QtMy4wLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNGZlZDcxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1nc3QtMy4wLmluYwpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIkdTdHJlYW1lciBpbnRlZ3JhdGlvbiBsaWJyYXJ5IGZvciBDbHV0dGVyIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5jbHV0dGVyLXByb2plY3Qub3JnLyIKK0xJQ0VOU0UgPSAiTEdQTHYyKyIKKworaW5oZXJpdCBjbHV0dGVyCisKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLUluc3RhbGwtZXhhbXBsZS1iaW5hcnktbmVlZGVkLWZvci1jb3JlLWltYWdlLWNsdXR0ZXIucGF0Y2giCisKK0RFUEVORFMgPSAiZ3N0cmVhbWVyMS4wLXBsdWdpbnMtYmFzZSBnc3RyZWFtZXIxLjAtcGx1Z2lucy1iYWQgY2x1dHRlci0xLjAiCitSREVQRU5EU18ke1BOfSArPSAiZ3N0cmVhbWVyMS4wLW1ldGEtYmFzZSIKK1BBQ0tBR0VTICA9KyAiJHtQTn0tZXhhbXBsZXMiCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWludHJvc3BlY3Rpb24iCisKK0ZJTEVTXyR7UE59ICAgICAgICAgICs9ICIke2xpYmRpcn0vZ3N0cmVhbWVyLTEuMC9saWIqLnNvIgorRklMRVNfJHtQTn0tZGV2ICAgICAgKz0gIiR7bGliZGlyfS9nc3RyZWFtZXItMS4wLyoubGEiCitGSUxFU18ke1BOfS1kYmcgICAgICArPSAiJHtsaWJkaXJ9L2dzdHJlYW1lci0xLjAvLmRlYnVnL2xpYiouc28iCitGSUxFU18ke1BOfS1leGFtcGxlcyAgPSAiJHtiaW5kaXJ9L3ZpZGVvLXBsYXllciAke2JpbmRpcn0vdmlkZW8tc2luayIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3N0LTMuMC8wMDAxLUluc3RhbGwtZXhhbXBsZS1iaW5hcnktbmVlZGVkLWZvci1jb3JlLWltYWdlLWNsdXR0ZXIucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWdzdC0zLjAvMDAwMS1JbnN0YWxsLWV4YW1wbGUtYmluYXJ5LW5lZWRlZC1mb3ItY29yZS1pbWFnZS1jbHV0dGVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiMjZiOTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWdzdC0zLjAvMDAwMS1JbnN0YWxsLWV4YW1wbGUtYmluYXJ5LW5lZWRlZC1mb3ItY29yZS1pbWFnZS1jbHV0dGVyLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gZDc3YzcxMTI3N2JmMDc1Y2UwNTQ1YzE5YjMyMmYwNDBjNDljNzc4YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorRGF0ZTogVGh1LCAzMCBBcHIgMjAxNSAxMjoxOToxMyArMDMwMAorU3ViamVjdDogW1BBVENIXSBJbnN0YWxsIGV4YW1wbGUgYmluYXJ5IG5lZWRlZCBmb3IgY29yZS1pbWFnZS1jbHV0dGVyCisKK1NpZ25lZC1vZmYtYnk6IFpoYWkgRWR3aW4gPGVkd2luLnpoYWlAaW50ZWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0ltcG9ydGVkIGZyb20gY2x1dHRlci1nc3QtMS44IHBhY2thZ2UsIGdpdDovL2dpdC5vcGVuZW1iZWRkZWQub3JnL29wZW5lbWJlZGRlZCwKK2NvbW1pdCBhZTI4ZWUzZjdhMDYwYjllMGQxMzE1NGE4NGYyNDQ0YTk4NDkwYjViLCB1cGRhdGVkIGZvciBjbHV0dGVyLWdzdCAzLjAKKworU2lnbmVkLW9mZi1ieTogVG9tYXMgRnJ5ZHJ5Y2ggPHRvbWFzQHNsZWVwZml2ZS5jb20+CitTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgS2FuYXZpbiA8YWxleC5rYW5hdmluQGdtYWlsLmNvbT4KKy0tLQorIGV4YW1wbGVzL01ha2VmaWxlLmFtIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvTWFrZWZpbGUuYW0gYi9leGFtcGxlcy9NYWtlZmlsZS5hbQoraW5kZXggYmZiYzFiNS4uMDk2NTVlMyAxMDA2NDQKKy0tLSBhL2V4YW1wbGVzL01ha2VmaWxlLmFtCisrKysgYi9leGFtcGxlcy9NYWtlZmlsZS5hbQorQEAgLTEsNiArMSw2IEBACisgTlVMTCA9ICMKKyAKKy1ub2luc3RfUFJPR1JBTVMgPSBjYW1lcmEtcGxheWVyIHZpZGVvLXBsYXllciB2aWRlby1zaW5rIHZpZGVvLXNpbmstbmF2aWdhdGlvbiB2aWRlby1jb250ZW50CisrYmluX1BST0dSQU1TID0gY2FtZXJhLXBsYXllciB2aWRlby1wbGF5ZXIgdmlkZW8tc2luayB2aWRlby1zaW5rLW5hdmlnYXRpb24gdmlkZW8tY29udGVudAorIAorIEFNX0NQUEZMQUdTID0gLUkkKHRvcF9zcmNkaXIpIFwKKyAJCSQoTUFJTlRBSU5FUl9DRkxBR1MpIFwKKy0tIAorMi4xLjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1nc3QtMy4wL2VuYWJsZS10ZXN0cy5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3N0LTMuMC9lbmFibGUtdGVzdHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNhZWMzOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3N0LTMuMC9lbmFibGUtdGVzdHMucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAorSW5zdGFsbCBleGFtcGxlIGJpbmFyeSBuZWVkZWQgZm9yIGNvcmUtaW1hZ2UtY2x1dHRlcgorCitTaWduZWQtb2ZmLWJ5OiBaaGFpIEVkd2luIDxlZHdpbi56aGFpQGludGVsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitJbXBvcnRlZCBmcm9tIGNsdXR0ZXItZ3N0LTEuOCBwYWNrYWdlLCBnaXQ6Ly9naXQub3BlbmVtYmVkZGVkLm9yZy9vcGVuZW1iZWRkZWQsCitjb21taXQgYWUyOGVlM2Y3YTA2MGI5ZTBkMTMxNTRhODRmMjQ0NGE5ODQ5MGI1YiwgdXBkYXRlZCBmb3IgY2x1dHRlci1nc3QgMS42CisKK1NpZ25lZC1vZmYtYnk6IFRvbWFzIEZyeWRyeWNoIDx0b21hc0BzbGVlcGZpdmUuY29tPgorCitJbmRleDogZ2l0L2V4YW1wbGVzL01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvZXhhbXBsZXMvTWFrZWZpbGUuYW0JMjAxMS0wMS0zMSAxMDoxNDoyMy4wMDAwMDAwMDAgKzA4MDAKKysrKyBnaXQvZXhhbXBsZXMvTWFrZWZpbGUuYW0JMjAxMS0wMS0zMSAxMDoxNDozNC4wMDAwMDAwMDAgKzA4MDAKK0BAIC0xLDYgKzEsNiBAQAorIE5VTEwgPSAjCisgCistbm9pbnN0X1BST0dSQU1TID0gdmlkZW8tcGxheWVyIHZpZGVvLXNpbmsgdmlkZW8tc2luay1uYXZpZ2F0aW9uCisrYmluX1BST0dSQU1TID0gdmlkZW8tcGxheWVyIHZpZGVvLXNpbmsgdmlkZW8tc2luay1uYXZpZ2F0aW9uCisgCisgSU5DTFVERVMgPSAtSSQodG9wX3NyY2RpcikgXAorIAkgICAkKE1BSU5UQUlORVJfQ0ZMQUdTKSBcCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWdzdC0zLjBfMy4wLjguYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWdzdC0zLjBfMy4wLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzE5YTk1NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9jbHV0dGVyL2NsdXR0ZXItZ3N0LTMuMF8zLjAuOC5iYgpAQCAtMCwwICsxLDcgQEAKK3JlcXVpcmUgY2x1dHRlci1nc3QtMy4wLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00ZmJkNjUzODBjZGQyNTU5NTEwNzkwMDhiMzY0NTE2YyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9jbHV0dGVyLWdzdC9jbHV0dGVyLWdzdC5oO2JlZ2lubGluZT0xO2VuZGxpbmU9MjQ7bWQ1PTk1YmFhY2JhMTk0ZTgxNGMxMTBlYTNiZGYyNWRkYmY0IgorCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICJmN2Q5N2Y5NmU3Y2NhODJmMzgzMTdkMTczNGQ1ZGFkYiIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjU4MmU4NWI4ODQ4MmUxNmY3ZWM3MTkzNjNlMzhmYWRmODRmYWI0ZDRiYWFhMjFlNTIyN2E0NTRiODI0ZjEzNWMiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWd0ay0xLjAuaW5jIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1ndGstMS4wLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTg5OGI0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1ndGstMS4wLmluYwpAQCAtMCwwICsxLDEyIEBACitTVU1NQVJZID0gIkxpYnJhcnkgZm9yIGVtYmVkZGluZyBhIENsdXR0ZXIgY2FudmFzIGluIGEgR1RLKyBhcHBsaWNhdGlvbiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuY2x1dHRlci1wcm9qZWN0Lm9yZy8iCitMSUNFTlNFID0gIkxHUEx2MisiCisKK2luaGVyaXQgY2x1dHRlcgorCitERVBFTkRTID0gImNsdXR0ZXItMS4wIGd0ayszIgorUEFDS0FHRVMgID0rICIke1BOfS1leGFtcGxlcyIKK0FVVE9UT09MU19BVVhESVIgPSAiJHtTfS9idWlsZCIKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtaW50cm9zcGVjdGlvbiIKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1ndGstMS4wXzEuNi4yLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NsdXR0ZXIvY2x1dHRlci1ndGstMS4wXzEuNi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzMGVhMTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY2x1dHRlci9jbHV0dGVyLWd0ay0xLjBfMS42LjIuYmIKQEAgLTAsMCArMSw2IEBACityZXF1aXJlIGNsdXR0ZXItZ3RrLTEuMC5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2ZiYzMzODMwOWFjMzhmZWZjZDY0YjA0YmI5MDNlMzQiCisKK1NSQ19VUklbYXJjaGl2ZS5tZDVzdW1dID0gIjU1N2Q4MTRjM2U3MGNjM2EyZDFjZjM4MTY5MTliMTRmIgorU1JDX1VSSVthcmNoaXZlLnNoYTI1NnN1bV0gPSAiYmJkMDNkZmE5YTIwMTAyZDVjZGI0NDA1MTNiMGEwMzU5MzNkYTU1N2FkN2U5ZGEzMTU0NjAzNGRlMmRhZjA2OSIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9jb2dsL2NvZ2wtMS4wLmluYyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9jb2dsL2NvZ2wtMS4wLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZGEzMWM4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NvZ2wvY29nbC0xLjAuaW5jCkBAIC0wLDAgKzEsNzAgQEAKK1NVTU1BUlkgPSAiTW9kZXJuIDNEIGdyYXBoaWNzIEFQSSB3aXRoIGFzc29jaWF0ZWQgdXRpbGl0eSBBUElzIgorSE9NRVBBR0UgPSAiaHR0cDovL3dpa2kuY2x1dHRlci1wcm9qZWN0Lm9yZy93aWtpL0NvZ2wiCitMSUNFTlNFID0gIk1JVCIKKworaW5oZXJpdCBjbHV0dGVyCisKK0RFUEVORFMgPSAiZ2xpYi0yLjAgZ2RrLXBpeGJ1ZiIKK1BBQ0tBR0VTID0rICIke1BOfS1leGFtcGxlcyBcCisgICAgICAgICAgICAgbGliY29nbCBsaWJjb2dsLWdsZXMyIGxpYmNvZ2wtcGFuZ28gbGliY29nbC1wYXRoIFwKKyAgICAgICAgICAgICIKK0FVVE9UT09MU19BVVhESVIgPSAiJHtTfS9idWlsZCIKKworIyBFeHRyYSBERVBFTkRTIGZvciBQQUNLQUdFQ09ORklHCitFREVQRU5EU19HTCA9ICJ2aXJ0dWFsL2xpYmdsIGxpYmRybSIKK0VERVBFTkRTX0dMRVMyID0gInZpcnR1YWwvbGliZ2xlczIiCitFREVQRU5EU19LTVMgPSAibGliZHJtIHZpcnR1YWwvZWdsIgorRURFUEVORFNfRUdMID0gInZpcnR1YWwvZWdsIgorRURFUEVORFNfWDExID0gInZpcnR1YWwvbGlieDExIGxpYnhjb21wb3NpdGUgbGlieGZpeGVzIGxpYnhpIGxpYnhyYW5kciIKK0VERVBFTkRTX1dBWUxBTkQgPSAidmlydHVhbC9tZXNhIHdheWxhbmQiCisKKyMgRXh0cmEgUkRFUEVORFMgZm9yIFBBQ0tBR0VDT05GSUcKKyMgVGhpcyBoYXMgdG8gYmUgZXhwbGljdGx5IGxpc3RlZCwgYmVjYXVzZSBjb2dsIGRsb3BlbnMgdGhlIGJhY2tlbmRzCitFUkRFUEVORFNfR0wgICAgPSAibGliZ2wiCitFUkRFUEVORFNfR0xFUzIgPSAibGliZ2xlczIiCisKKyMgR0xFU3YxIGlzIHJhcmVseSB0ZXN0ZWQsIHNvIGRpc2FibGUgaXQKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWludHJvc3BlY3Rpb24JXAorCSAgICAgICAJIC0tZW5hYmxlLWV4YW1wbGVzLWluc3RhbGwJXAorCSAgICAgICAJIC0tZW5hYmxlLWRlYnVnCQkgCVwKKwkgICAgICAgCSAtLWRpc2FibGUtZ2xlczEJCVwKKwkgICAgICAgICAtLWRpc2FibGUtY2Fpcm8gICAgICAgICAgICAgICAgXAorCSAgICAJIgorCisjIE9wZW5HTC9HTFgKK1BBQ0tBR0VDT05GSUdbZ2x4XSA9ICItLWVuYWJsZS1nbCAtLWVuYWJsZS1nbHgsLS1kaXNhYmxlLWdsIC0tZGlzYWJsZS1nbHgsJHtFREVQRU5EU19HTH0gJHtFREVQRU5EU19YMTF9LCR7RVJERVBFTkRTX0dMfSIKKworIyBHTEVTdjIKK1BBQ0tBR0VDT05GSUdbZ2xlczJdID0gIi0tZW5hYmxlLWdsZXMyLC0tZGlzYWJsZS1nbGVzMiwke0VERVBFTkRTX0dMRVMyfSwgJHtFUkRFUEVORFNfR0xFUzJ9IgorCisjIEVHTCBiYWNrZW5kcworUEFDS0FHRUNPTkZJR1tlZ2wta21zXSA9ICItLWVuYWJsZS1rbXMtZWdsLXBsYXRmb3JtLC0tZGlzYWJsZS1rbXMtZWdsLXBsYXRmb3JtLCR7RURFUEVORFNfS01TfSIKK1BBQ0tBR0VDT05GSUdbZWdsLW51bGxdID0gIi0tZW5hYmxlLW51bGwtZWdsLXBsYXRmb3JtLC0tZGlzYWJsZS1udWxsLWVnbC1wbGF0Zm9ybSIKK1BBQ0tBR0VDT05GSUdbZWdsLXgxMV0gPSAiLS1lbmFibGUteGxpYi1lZ2wtcGxhdGZvcm0sLS1kaXNhYmxlLXhsaWItZWdsLXBsYXRmb3JtLCR7RURFUEVORFNfWDExfSAke0VERVBFTkRTX0VHTH0iCitQQUNLQUdFQ09ORklHW2VnbC13YXlsYW5kXSA9ICItLWVuYWJsZS13YXlsYW5kLWVnbC1wbGF0Zm9ybSwtLWRpc2FibGUtd2F5bGFuZC1lZ2wtcGxhdGZvcm0sJHtFREVQRU5EU19XQVlMQU5EfSIKKworIyBXYXlsYW5kIChzZXJ2ZXItc2lkZSkKK1BBQ0tBR0VDT05GSUdbd2F5bGFuZC1zZXJ2ZXJdID0gIi0tZW5hYmxlLXdheWxhbmQtZWdsLXNlcnZlciwtLWRpc2FibGUtd2F5bGFuZC1lZ2wtc2VydmVyLCR7RURFUEVORFNfV0FZTEFORH0iCisKKyMgU3VwcG9ydCByZW5kZXJpbmcgdGV4dCBkaXJlY3RseSB3aXRoIFBhbmdvCitQQUNLQUdFQ09ORklHW2NvZ2wtcGFuZ29dID0gIi0tZW5hYmxlLWNvZ2wtcGFuZ28sLS1kaXNhYmxlLWNvZ2wtcGFuZ28scGFuZ28iCisKKyMgUmVzcGVjdCB0aGUgRElTVFJPX0ZFQVRVUkVTIHRvIHB1bGwgaW4gR0xYIG9yIFdheWxhbmQgYXMgYXBwcm9wcmlhdGUgYnkKKyMgZGVmYXVsdC4KK1BBQ0tBR0VDT05GSUcgPz89ICJjb2dsLXBhbmdvIGdsZXMyIFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3dheWxhbmQnLCAnZWdsLXdheWxhbmQnLCAnJywgZCl9IFwKKyAgICAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICdnbHggZWdsLXgxMScsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICIKKworCitGSUxFU18ke1BOfS1leGFtcGxlcyA9ICIke2JpbmRpcn0vKiAke2RhdGFkaXJ9L2NvZ2wvZXhhbXBsZXMtZGF0YS8qIgorRklMRVNfbGliY29nbCA9ICIke2xpYmRpcn0vbGliY29nbCR7U09MSUJTfSIKK0ZJTEVTX2xpYmNvZ2wtZ2xlczIgPSAiJHtsaWJkaXJ9L2xpYmNvZ2wtZ2xlczIke1NPTElCU30iCitGSUxFU19saWJjb2dsLXBhbmdvID0gIiR7bGliZGlyfS9saWJjb2dsLXBhbmdvJHtTT0xJQlN9IgorCitGSUxFU19saWJjb2dsLXBhdGggPSAiJHtsaWJkaXJ9L2xpYmNvZ2wtcGF0aCR7U09MSUJTfSIKKworIyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgYWZ0ZXIgRGViaWFuLXJlbmFtaW5nCitSUFJPVklERVNfbGliY29nbCA9ICJjb2dsLTEuMCIKK1JDT05GTElDVFNfbGliY29nbCA9ICJjb2dsLTEuMCIKK1JSRVBMQUNFU19saWJjb2dsID0gImNvZ2wtMS4wIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NvZ2wvY29nbC0xLjAvY29nbC1mcmFtZWJ1ZmZlci1nbC1Xb3JrLWFnYWluLW9uLUdMRVN2Mi5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9jb2dsL2NvZ2wtMS4wL2NvZ2wtZnJhbWVidWZmZXItZ2wtV29yay1hZ2Fpbi1vbi1HTEVTdjIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGU4Mzk1NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9jb2dsL2NvZ2wtMS4wL2NvZ2wtZnJhbWVidWZmZXItZ2wtV29yay1hZ2Fpbi1vbi1HTEVTdjIucGF0Y2gKQEAgLTAsMCArMSw0MSBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogSnVzc2kgS3Vra29uZW4gPGp1c3NpLmt1a2tvbmVuQGludGVsLmNvbT4KKworCisKK0Zyb20gZjhjY2U1ZjZjYjI5NThhNDA3NGY4N2NkMzQ1YmZlNDZlMGRkYTZlMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ICJKYXNwZXIgU3QuIFBpZXJyZSIgPGpzdHBpZXJyZUBtZWNoZXllLm5ldD4KK0RhdGU6IE1vbiwgMjAgQXByIDIwMTUgMTI6MDg6MjkgLTA3MDAKK1N1YmplY3Q6IGNvZ2wtZnJhbWVidWZmZXItZ2w6IFdvcmsgYWdhaW4gb24gR0xFU3YyCisKKworZGlmZiAtLWdpdCBhL2NvZ2wvZHJpdmVyL2dsL2NvZ2wtZnJhbWVidWZmZXItZ2wuYyBiL2NvZ2wvZHJpdmVyL2dsL2NvZ2wtZnJhbWVidWZmZXItZ2wuYworaW5kZXggNzkzYjEwYi4uNjA5Y2ZiMyAxMDA2NDQKKy0tLSBhL2NvZ2wvZHJpdmVyL2dsL2NvZ2wtZnJhbWVidWZmZXItZ2wuYworKysrIGIvY29nbC9kcml2ZXIvZ2wvY29nbC1mcmFtZWJ1ZmZlci1nbC5jCitAQCAtMTA3LDYgKzEwNywxMiBAQAorICNpZm5kZWYgR0xfUEFDS19JTlZFUlRfTUVTQQorICNkZWZpbmUgR0xfUEFDS19JTlZFUlRfTUVTQSAweDg3NTgKKyAjZW5kaWYKKysjaWZuZGVmIEdMX0JBQ0tfTEVGVAorKyNkZWZpbmUgR0xfQkFDS19MRUZUCQkJCTB4MDQwMgorKyNlbmRpZgorKyNpZm5kZWYgR0xfQkFDS19SSUdIVAorKyNkZWZpbmUgR0xfQkFDS19SSUdIVAkJCQkweDA0MDMKKysjZW5kaWYKKyAKKyAjaWZuZGVmIEdMX0NPTE9SCisgI2RlZmluZSBHTF9DT0xPUiAweDE4MDAKK0BAIC0yNDUsNiArMjUxLDkgQEAgX2NvZ2xfZnJhbWVidWZmZXJfZ2xfZmx1c2hfc3RlcmVvX21vZGVfc3RhdGUgKENvZ2xGcmFtZWJ1ZmZlciAqZnJhbWVidWZmZXIpCisgICBpZiAoZnJhbWVidWZmZXItPnR5cGUgPT0gQ09HTF9GUkFNRUJVRkZFUl9UWVBFX09GRlNDUkVFTikKKyAgICAgcmV0dXJuOworIAorKyAgaWYgKCFjdHgtPmdsRHJhd0J1ZmZlcikKKysgICAgcmV0dXJuOworKworICAgLyogVGhlIG9uZS1zaG90IGRlZmF1bHQgZHJhdyBidWZmZXIgc2V0dGluZyBpbiBfY29nbF9mcmFtZWJ1ZmZlcl9nbF9iaW5kCisgICAgKiBtdXN0IGhhdmUgYWxyZWFkeSBoYXBwZW5lZC4gSWYgbm90IGl0IHdvdWxkIG92ZXJyaWRlIHdoYXQgd2Ugc2V0IGhlcmUuICovCisgICBnX2Fzc2VydCAoY3R4LT53YXNfYm91bmRfdG9fb25zY3JlZW4pOworLS0gCitjZ2l0IHYwLjEwLjIKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NvZ2wvY29nbC0xLjBfMS4yMC4wLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2NvZ2wvY29nbC0xLjBfMS4yMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyMGI4MTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvY29nbC9jb2dsLTEuMF8xLjIwLjAuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlIGNvZ2wtMS4wLmluYworCitTUkNfVVJJICs9ICJmaWxlOi8vY29nbC1mcmFtZWJ1ZmZlci1nbC1Xb3JrLWFnYWluLW9uLUdMRVN2Mi5wYXRjaCIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MWIxYTUwOGQ5MWQyNWNhNjA3YzgzZjkyZjNlMzFjODQiCitTUkNfVVJJW2FyY2hpdmUubWQ1c3VtXSA9ICI1YjI4ODk3MTk0ZDlmZjc2YTU3NGE5NDkzZDFmN2VlMCIKK1NSQ19VUklbYXJjaGl2ZS5zaGEyNTZzdW1dID0gIjcyOWUzNTQ5NTgyOWU3ZDMxZmFmYTMzNThlNDdiNzQzYmEyMWEyYjA4ZmY5YjZjZDI4ZmI3NGMwZGU5MTE5MmIiCisKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9kaXJlY3RmYi9kaXJlY3RmYi1leGFtcGxlcy9jb25maWd1cmUuaW4tRml4LXN0cmluZy1hcmd1bWVudC1zeW50YXgucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZGlyZWN0ZmIvZGlyZWN0ZmItZXhhbXBsZXMvY29uZmlndXJlLmluLUZpeC1zdHJpbmctYXJndW1lbnQtc3ludGF4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3MTdlYTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZGlyZWN0ZmIvZGlyZWN0ZmItZXhhbXBsZXMvY29uZmlndXJlLmluLUZpeC1zdHJpbmctYXJndW1lbnQtc3ludGF4LnBhdGNoCkBAIC0wLDAgKzEsMjggQEAKK0Zyb20gODgwNzdlZDE1NmE3MTRmMzJiYjQwOGY0MjIyNzhkNjE2MTFmZmQ0MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE90YXZpbyBTYWx2YWRvciA8b3RhdmlvQG9zc3lzdGVtcy5jb20uYnI+CitEYXRlOiBTYXQsIDI2IEp1bCAyMDE0IDE2OjU3OjQ2IC0wMzAwCitTdWJqZWN0OiBbUEFUQ0hdIGNvbmZpZ3VyZS5pbjogRml4IHN0cmluZyBhcmd1bWVudCBzeW50YXgKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKKworU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KKy0tLQorIGNvbmZpZ3VyZS5pbiB8ICAgIDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgoraW5kZXggYmZlMWI4Mi4uZTkzOWJiZCAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5pbgorKysrIGIvY29uZmlndXJlLmluCitAQCAtNjUsNyArNjUsNyBAQCBmaSkKKyAKKyBESVJFQ1RGQl9SRVFVSVJFRF9WRVJTSU9OPTEuNC4xNAorIAorLVBLR19DSEVDS19NT0RVTEVTKERJUkVDVEZCLCBkaXJlY3RmYiA+PSAkRElSRUNURkJfUkVRVUlSRURfVkVSU0lPTixbIFdBVEVSPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPXdhdGVyIGRpcmVjdGZiYCBdLAorK1BLR19DSEVDS19NT0RVTEVTKFtESVJFQ1RGQl0sIGRpcmVjdGZiID49ICRESVJFQ1RGQl9SRVFVSVJFRF9WRVJTSU9OLFsgV0FURVI9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9d2F0ZXIgZGlyZWN0ZmJgIF0sCisgCUFDX01TR19FUlJPUihbJERJUkVDVEZCX1BLR19FUlJPUlMKKyAqKiogRGlyZWN0RkIgJERJUkVDVEZCX1JFUVVJUkVEX1ZFUlNJT04gb3IgbmV3ZXIgaXMgcmVxdWlyZWQuIFRoZSBsYXRlc3QgdmVyc2lvbgorICoqKiBvZiBEaXJlY3RGQiBpcyBhdmFpbGFibGUgZnJvbSBodHRwOi8vd3d3LmRpcmVjdGZiLm9yZy8uXSkpCistLSAKKzEuNy4xMC40CisKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9kaXJlY3RmYi9kaXJlY3RmYi1leGFtcGxlc18xLjcuMC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9kaXJlY3RmYi9kaXJlY3RmYi1leGFtcGxlc18xLjcuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YzNlOGJmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2RpcmVjdGZiL2RpcmVjdGZiLWV4YW1wbGVzXzEuNy4wLmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiRXhhbXBsZSBEaXJlY3RGQiBhcHBsaWNhdGlvbnMiCitERVNDUklQVElPTiA9ICJUaGUgRGlyZWN0RkItZXhhbXBsZXMgcGFja2FnZSBjb250YWlucyBhIHNldCBvZiBzaW1wbGUgRGlyZWN0RkIgXAorICAgICAgYXBwbGljYXRpb25zIHRoYXQgY2FuIGJlIHVzZWQgdG8gdGVzdCBhbmQgZGVtb25zdHJhdGUgdmFyaW91cyBEaXJlY3RGQiBcCisgICAgICBmZWF0dXJlcyIKK0RFUEVORFMgPSAiZGlyZWN0ZmIiCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIk1JVCIKKworU1JDX1VSSSA9ICIgXAorICAgICAgICAgICBodHRwOi8vd3d3LmRpcmVjdGZiLm9yZy9kb3dubG9hZHMvRXh0cmFzL0RpcmVjdEZCLWV4YW1wbGVzLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9jb25maWd1cmUuaW4tRml4LXN0cmluZy1hcmd1bWVudC1zeW50YXgucGF0Y2ggXAorICAgICAgICAgICIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZWNmNmZkMmIxOTkxNWFmYzRkYTU2MDQzOTI2Y2ExOGYiCisKK1MgPSAiJHtXT1JLRElSfS9EaXJlY3RGQi1leGFtcGxlcy0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4YjYwYzg2N2FmMjk1NDgxYzMyYThjN2ZjNTgwMjMwNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5YTIxMDRjYzRkYTgxMjNjODM3MTgxMzU1MWI2NmI5NDMxOTg5NzlmNzQ1Y2JlYmMwMzRiYjVlMTA4NDQxMjJhIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2RpcmVjdGZiL2RpcmVjdGZiLmluYyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9kaXJlY3RmYi9kaXJlY3RmYi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ2YWFlYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9kaXJlY3RmYi9kaXJlY3RmYi5pbmMKQEAgLTAsMCArMSw4MCBAQAorU1VNTUFSWSA9ICJHcmFwaGljcyBhYnN0cmFjdGlvbiBsaWJyYXJ5IGZvciB0aGUgTGludXggRnJhbWVidWZmZXIgRGV2aWNlIgorREVTQ1JJUFRJT04gPSAiRGlyZWN0RkIgaXMgYSB0aGluIGxpYnJhcnkgdGhhdCBwcm92aWRlcyBkZXZlbG9wZXJzIFwKK3dpdGggaGFyZHdhcmUgZ3JhcGhpY3MgYWNjZWxlcmF0aW9uLCBpbnB1dCBkZXZpY2UgaGFuZGxpbmcgYW5kIFwKK2Fic3RyYWN0aW9uLCBhbiBpbnRlZ3JhdGVkIHdpbmRvd2luZyBzeXN0ZW0gd2l0aCBzdXBwb3J0IGZvciBcCit0cmFuc2x1Y2VudCB3aW5kb3dzIGFuZCBtdWx0aXBsZSBkaXNwbGF5IGxheWVycyBvbiB0b3Agb2YgdGhlIFwKK0xpbnV4IGZyYW1lYnVmZmVyIGRldmljZS4iCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2Mi4xIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZGNmM2M4MjU2NTllODI1Mzk2NDVkYTQxYTc5MDg1ODkiCisKK0hPTUVQQUdFID0gImh0dHA6Ly9kaXJlY3RmYi5vcmciCitERVBFTkRTID0gImpwZWcgbGlicG5nIGZyZWV0eXBlIHpsaWIgdHNsaWIgc3lzZnN1dGlscyIKKworU1JDX1VSSSA9ICJodHRwOi8vd3d3LmRpcmVjdGZiLm9yZy9kb3dubG9hZHMvQ29yZS9EaXJlY3RGQi0xLjcvRGlyZWN0RkItJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZWZpeC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9mdXNpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vYmFzaGlzbS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWdmeC1kaXJlY3QtQWJvaWQtdXNuZy1WTEFzLWFuZC1wcmludGYtZm9ybWF0cy5wYXRjaCBcCisgICAgICAgICAgIgorCitTID0gIiR7V09SS0RJUn0vRGlyZWN0RkItJHtQVn0iCisKK0xERkxBR1NfYXBwZW5kID0iIC1sdHMgLWxtIgorCitCSU5DT05GSUcgPSAiJHtiaW5kaXJ9L2RpcmVjdGZiLWNvbmZpZyIKKworaW5oZXJpdCBhdXRvdG9vbHMgYmluY29uZmlnLWRpc2FibGVkIHBrZ2NvbmZpZworCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tqcGVnMjAwMF0gPSAiLS1lbmFibGUtanBlZzIwMDAsLS1kaXNhYmxlLWpwZWcyMDAwLGphc3BlciIKK1BBQ0tBR0VDT05GSUdbZHJta21zXSA9ICItLWVuYWJsZS1kcm1rbXMsLS1kaXNhYmxlLWRybWttcyxsaWJkcm0iCitQQUNLQUdFQ09ORklHW3RpZmZdID0gIi0tZW5hYmxlLXRpZmYsLS1kaXNhYmxlLXRpZmYsdGlmZiIKK1BBQ0tBR0VDT05GSUdbd2VicF0gPSAiLS1lbmFibGUtd2VicCwtLWRpc2FibGUtd2VicCxsaWJ3ZWJwIgorCitFWFRSQV9PRUNPTkYgPSAiXAorICAtLXdpdGgtZ2Z4ZHJpdmVycz1ub25lIFwKKyAgLS1lbmFibGUtZnJlZXR5cGU9eWVzIFwKKyAgLS1lbmFibGUtemxpYiBcCisgIC0tZGlzYWJsZS1pbWxpYjIgXAorICAtLWRpc2FibGUtbWVzYSBcCisgIC0tZGlzYWJsZS1zZGwgXAorICAtLWRpc2FibGUtdm5jIFwKKyAgLS1kaXNhYmxlLXgxMSBcCisiCisKKyNPbmNlIC1mbm8tb21pdC1mcmFtZS1wb2ludGVyIG9wdGlvbiBvZiBnY2MgaXMgYWRkZWQgaW50byBUQVJHRVRfQ0xGQUdTIGFzIGRlZmF1bHQKKyN0aGlzIHdpbGwgY2F1c2UgZGlyZWN0ZmIgYnVpbGQgZmFpbHVyZSBvbiB4ODYgYXJjaCwgc28gZmlsdGVyIG91dCBpdC4KK1RBUkdFVF9DRkxBR1NfcmVtb3ZlX3g4NiA9ICItZm5vLW9taXQtZnJhbWUtcG9pbnRlciIKKworI1BBQ0tBR0VTX0RZTkFNSUMgKz0gIl5kaXJlY3RmYi1pbnB1dGRyaXZlcnMtLioiCisjCisjcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworIyAgICBpbnB1dGRyaXZlcnNfbGliZGlyID0gZC5leHBhbmQoJyR7bGliZGlyfS9kaXJlY3RmYi0ke1JWfS9pbnB1dGRyaXZlcnMnKQorIyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBpbnB1dGRyaXZlcnNfbGliZGlyLCAnKi5zbyQnLCAnZGlyZWN0ZmItaW5wdXRkcml2ZXJzLSVzJywgJ0RpcmVjdGZiIHBsdWdpbiBmb3IgJXMnKQorI30KKworIyBOT1RFOiBtb25vbGl0aGljIHBhY2thZ2luZyBmb3Igbm93LCBzaG91bGQgaW1wcm92ZSB0aGF0IGV2ZW50dWFsbHkKKworCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiXAorICAke2xpYmRpcn0vZGlyZWN0ZmItJHtSVn0vKi8qLy5kZWJ1Zy8qLnNvIFwKKyAgJHtsaWJkaXJ9L2RpcmVjdGZiLSR7UlZ9LyovLmRlYnVnLyouc28gXAorIgorCitGSUxFU18ke1BOfS1kZXYgKz0gIlwKKyAgJHtiaW5kaXJ9L2RpcmVjdGZiLWNvbmZpZyBcCisgICR7bGliZGlyfS9kaXJlY3RmYi0ke1JWfS9zeXN0ZW1zLyoubGEgXAorICAke2xpYmRpcn0vZGlyZWN0ZmItJHtSVn0vaW5wdXRkcml2ZXJzLyoubGEgXAorICAke2xpYmRpcn0vZGlyZWN0ZmItJHtSVn0vaW50ZXJmYWNlcy8qLyoubGEgXAorICAke2xpYmRpcn0vZGlyZWN0ZmItJHtSVn0vd20vKi5sYSBcCisiCisKK0ZJTEVTXyR7UE59ICs9ICJcCisgICR7bGliZGlyfS9kaXJlY3RmYi0ke1JWfS9zeXN0ZW1zLyouc28gXAorICAke2xpYmRpcn0vZGlyZWN0ZmItJHtSVn0vaW5wdXRkcml2ZXJzLyouc28gXAorICAke2xpYmRpcn0vZGlyZWN0ZmItJHtSVn0vaW50ZXJmYWNlcy8qLyouc28gXAorICAke2xpYmRpcn0vZGlyZWN0ZmItJHtSVn0vd20vKi5zbyBcCisgICR7ZGF0YWRpcn0vZGlyZWN0ZmItJHtQVn0gXAorIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2RpcmVjdGZiL2RpcmVjdGZiLzAwMDEtZ2Z4LWRpcmVjdC1BYm9pZC11c25nLVZMQXMtYW5kLXByaW50Zi1mb3JtYXRzLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2RpcmVjdGZiL2RpcmVjdGZiLzAwMDEtZ2Z4LWRpcmVjdC1BYm9pZC11c25nLVZMQXMtYW5kLXByaW50Zi1mb3JtYXRzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2ZTBmNzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZGlyZWN0ZmIvZGlyZWN0ZmIvMDAwMS1nZngtZGlyZWN0LUFib2lkLXVzbmctVkxBcy1hbmQtcHJpbnRmLWZvcm1hdHMucGF0Y2gKQEAgLTAsMCArMSw2MSBAQAorRnJvbSBmNDNlZjQ0ODA2ZmZiOGUzYjM1ZDk5MDcwZGRlOWI2Y2MxNzE0ZDNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgOCBTZXAgMjAxNSAyMTozMjoyMCArMDAwMAorU3ViamVjdDogW1BBVENIXSBnZngsZGlyZWN0OiBBYm9pZCB1c25nIFZMQXMgYW5kIHByaW50ZiBmb3JtYXRzCisKK1ZMQXMgYXJlIGZsYWdnZWQgYnkgY2xhbmcgd2hlbiB1c2luZyBub24tUE9EIHR5cGVzLCB0aGVyZWZvcmUgcmVwbGFjZQordGhlIHVzYWdlIHdpdGggYWxsb2NhIHdoaWNoIGlzIGV4YWN0IHNhbWUgYWxsb2NhdGlvbiBvbiBzdGFjaworCisgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyAoX19wcmludGZfXykpKSBpcyBub3QgcG9ydGFibGUgYXMgdXNlZCBoZXJlCisgdGhlcmVmb3JlIGRpc2FibGUgdGhlIGNoZWNrIGZvciBjbGFuZyBoZXJlLCB3ZSBsb3NlIG5vIGZ1bmN0aW9uYWxpdHkKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKKyBsaWIvZGlyZWN0L3V0aWwuaCB8IDIgKy0KKyBzcmMvZ2Z4L3V0aWwuY3BwICB8IDggKysrKy0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2xpYi9kaXJlY3QvdXRpbC5oIGIvbGliL2RpcmVjdC91dGlsLmgKK2luZGV4IDcyOTQxZTkuLjhlN2ZhNGEgMTAwNjQ0CistLS0gYS9saWIvZGlyZWN0L3V0aWwuaAorKysrIGIvbGliL2RpcmVjdC91dGlsLmgKK0BAIC05OCw3ICs5OCw3IEBACisgI2RlZmluZSBEX0NPTlNUX0ZVTkMKKyAjZW5kaWYKKyAKKy0jaWYgX19HTlVDX18gPj0gMworKyNpZiBfX0dOVUNfXyA+PSAzICYmICFkZWZpbmVkIF9fY2xhbmdfXworICNkZWZpbmUgRF9GT1JNQVRfUFJJTlRGKG4pICAgICAgICAgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyAoX19wcmludGZfXywgbiwgbisxKSkpCisgI2RlZmluZSBEX0ZPUk1BVF9WUFJJTlRGKG4pICAgICAgICBfX2F0dHJpYnV0ZV9fKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCBuLCAwKSkpCisgI2Vsc2UKK2RpZmYgLS1naXQgYS9zcmMvZ2Z4L3V0aWwuY3BwIGIvc3JjL2dmeC91dGlsLmNwcAoraW5kZXggNDAwMzJiYy4uZDEwMTVkNCAxMDA2NDQKKy0tLSBhL3NyYy9nZngvdXRpbC5jcHAKKysrKyBiL3NyYy9nZngvdXRpbC5jcHAKK0BAIC0yOTQsOCArMjk0LDggQEAgZGZiX2dmeF9jb3B5X3JlZ2lvbnNfc3RlcmVvKCBDb3JlU3VyZmFjZSAgICAgICAgICAgKnNvdXJjZSwKKyB7CisgICAgICB1bnNpZ25lZCBpbnQgaSwgbiA9IDA7CisgICAgICBERkJSZWN0YW5nbGUgcmVjdCA9IHsgMCwgMCwgc291cmNlLT5jb25maWcuc2l6ZS53LCBzb3VyY2UtPmNvbmZpZy5zaXplLmggfTsKKy0gICAgIERGQlJlY3RhbmdsZSByZWN0c1tudW1dOworLSAgICAgREZCUG9pbnQgICAgIHBvaW50c1tudW1dOworKyAgICAgREZCUmVjdGFuZ2xlICpyZWN0cyA9ICAoREZCUmVjdGFuZ2xlKilhbGxvY2EoIHNpemVvZihzdHJ1Y3QgREZCUmVjdGFuZ2xlKSAqIG51bSk7CisrICAgICBERkJQb2ludCAqcG9pbnRzID0gIChERkJQb2ludCopYWxsb2NhKCBzaXplb2Yoc3RydWN0IERGQlBvaW50KSAqIG51bSk7CisgCisgICAgICBmb3IgKGk9MDsgaTxudW07IGkrKykgeworICAgICAgICAgICBERkJfUkVHSU9OX0FTU0VSVCggJnJlZ2lvbnNbaV0gKTsKK0BAIC0zNTEsOCArMzUxLDggQEAgZGZiX2dmeF9jb3B5X3JlZ2lvbnNfY2xpZW50KCBDb3JlU3VyZmFjZSAgICAgICAgICAgICAqc291cmNlLAorIHsKKyAgICAgIHVuc2lnbmVkIGludCAgICAgICAgICAgICBpLCBuID0gMDsKKyAgICAgIERGQlJlY3RhbmdsZSAgICAgICAgICAgICByZWN0ID0geyAwLCAwLCBzb3VyY2UtPmNvbmZpZy5zaXplLncsIHNvdXJjZS0+Y29uZmlnLnNpemUuaCB9OworLSAgICAgREZCUmVjdGFuZ2xlICAgICAgICAgICAgIHJlY3RzW251bV07CistICAgICBERkJQb2ludCAgICAgICAgICAgICAgICAgcG9pbnRzW251bV07CisrICAgICBERkJSZWN0YW5nbGUgICAgICAgICAgICAqcmVjdHMgPSAgKERGQlJlY3RhbmdsZSopYWxsb2NhKCBzaXplb2Yoc3RydWN0IERGQlJlY3RhbmdsZSkgKiBudW0pOworKyAgICAgREZCUG9pbnQgICAgICAgICAgICAgICAgKnBvaW50cyA9ICAoREZCUG9pbnQqKWFsbG9jYSggc2l6ZW9mKHN0cnVjdCBERkJQb2ludCkgKiBudW0pOworICAgICAgQ29yZUdyYXBoaWNzU3RhdGVDbGllbnQgKmNsaWVudCA9IF9jbGllbnQgPyBfY2xpZW50IDogJlN0YXRlQ2xpZW50OjpHZXQoKS0+Y2xpZW50OworICAgICAgQ2FyZFN0YXRlICAgICAgICAgICAgICAgKnN0YXRlICA9IGNsaWVudC0+c3RhdGU7CisgICAgICBDYXJkU3RhdGUgICAgICAgICAgICAgICAgYmFja3VwOworLS0gCisyLjUuMQorCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZGlyZWN0ZmIvZGlyZWN0ZmIvYmFzaGlzbS5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9kaXJlY3RmYi9kaXJlY3RmYi9iYXNoaXNtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlZjRlOTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZGlyZWN0ZmIvZGlyZWN0ZmIvYmFzaGlzbS5wYXRjaApAQCAtMCwwICsxLDE4IEBACiske3gvL3kvfSBpcyBhIGJhc2ggc3ludGF4LiBSZXBsYWNlIHdpdGggc29tZXRoaW5nIGRhc2ggY29tcGF0aWJsZQorCitSUCAyMDE1LzUvMworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0luZGV4OiBEaXJlY3RGQi0xLjcuNy9jb25maWd1cmUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBEaXJlY3RGQi0xLjcuNy5vcmlnL2NvbmZpZ3VyZS5pbgorKysrIERpcmVjdEZCLTEuNy43L2NvbmZpZ3VyZS5pbgorQEAgLTI2OTYsNyArMjY5Niw3IEBAIEFNX0NPTkRJVElPTkFMKEJVSUxEX1RPT0xTLCB0ZXN0ICIkd2l0aF8KKyBBTV9DT05ESVRJT05BTChDUk9TU19DT01QSUxJTkcsIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0gInllcyIpCisgCisgQ0ZMQUdTPSIkQ0ZMQUdTICRERkJfSU5URVJOQUxfQ0ZMQUdTIgorLUNYWEZMQUdTPSIkQ1hYRkxBR1MgJHtDRkxBR1MvLy1XZXJyb3ItaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb24vfSIKKytDWFhGTEFHUz0iJENYWEZMQUdTICQocHJpbnRmICclc1xuJyAiJENGTEFHUyIgfCBzZWQgJ3MvLVdlcnJvci1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbi8vZycpIgorIERGQl9MREZMQUdTPSIkTERGTEFHUyAkWkxJQl9MSUJTIgorIAorIENGTEFHUz0iJENGTEFHUyAkQ0ZMQUdTX1NURCIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9kaXJlY3RmYi9kaXJlY3RmYi9jb25maWd1cmVmaXgucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZGlyZWN0ZmIvZGlyZWN0ZmIvY29uZmlndXJlZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkOGMwMTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZGlyZWN0ZmIvZGlyZWN0ZmIvY29uZmlndXJlZml4LnBhdGNoCkBAIC0wLDAgKzEsNjAgQEAKK0xpYnRvb2wgbmVlZHMgdGhlc2Ugc2V0IGNvcnJlY3RseSBlbHNlIHdlIGVuZCB1cCB3aXRoIHBvaW50bGVzcyBycGF0aHMKK3N1Y2ggYXMgdGhlIFFBIHdhcm5pbmdzOgorCitXQVJOSU5HOiBRQSBJc3N1ZTogZGlyZWN0ZmI6IC93b3JrL2k1ODYtcG9reS1saW51eC9kaXJlY3RmYi0xLjQuMTUtcjEvcGFja2FnZXMtc3BsaXQvZGlyZWN0ZmIvdXNyL2Jpbi9kZmJsYXllciBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWJXQVJOSU5HOiBRQSBJc3N1ZTogZGlyZWN0ZmI6IC93b3JrL2k1ODYtcG9reS1saW51eC9kaXJlY3RmYi0xLjQuMTUtcjEvcGFja2FnZXMtc3BsaXQvZGlyZWN0ZmIvdXNyL2Jpbi9kZmJtYXN0ZXIgY29udGFpbnMgcHJvYmFibHktcmVkdW5kYW50IFJQQVRIIC91c3IvbGliV0FSTklORzogUUEgSXNzdWU6IGRpcmVjdGZiOiAvd29yay9pNTg2LXBva3ktbGludXgvZGlyZWN0ZmItMS40LjE1LXIxL3BhY2thZ2VzLXNwbGl0L2RpcmVjdGZiL3Vzci9iaW4vbWtkZ2lmZnQgY29udGFpbnMgcHJvYmFibHktcmVkdW5kYW50IFJQQVRIIC91c3IvbGliV0FSTklORzogUUEgSXNzdWU6IGRpcmVjdGZiOiAvd29yay9pNTg2LXBva3ktbGludXgvZGlyZWN0ZmItMS40LjE1LXIxL3BhY2thZ2VzLXNwbGl0L2RpcmVjdGZiL3Vzci9iaW4vZGZiZHVtcCBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWJXQVJOSU5HOiBRQSBJc3N1ZTogZGlyZWN0ZmI6IC93b3JrL2k1ODYtcG9reS1saW51eC9kaXJlY3RmYi0xLjQuMTUtcjEvcGFja2FnZXMtc3BsaXQvZGlyZWN0ZmIvdXNyL2Jpbi9kZmJpbnB1dCBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWJXQVJOSU5HOiBRQSBJc3N1ZTogZGlyZWN0ZmI6IC93b3JrL2k1ODYtcG9reS1saW51eC9kaXJlY3RmYi0xLjQuMTUtcjEvcGFja2FnZXMtc3BsaXQvZGlyZWN0ZmIvdXNyL2Jpbi9kZmJmeCBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWJXQVJOSU5HOiBRQSBJc3N1ZTogZGlyZWN0ZmI6IC93b3JrL2k1ODYtcG9reS1saW51eC9kaXJlY3RmYi0xLjQuMTUtcjEvcGFja2FnZXMtc3BsaXQvZGlyZWN0ZmIvdXNyL2Jpbi9kZmJzY3JlZW4gY29udGFpbnMgcHJvYmFibHktcmVkdW5kYW50IFJQQVRIIC91c3IvbGliV0FSTklORzogUUEgSXNzdWU6IGRpcmVjdGZiOiAvd29yay9pNTg2LXBva3ktbGludXgvZGlyZWN0ZmItMS40LjE1LXIxL3BhY2thZ2VzLXNwbGl0L2RpcmVjdGZiL3Vzci9iaW4vbWtkZ2lmZiBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWJXQVJOSU5HOiBRQSBJc3N1ZTogZGlyZWN0ZmI6IC93b3JrL2k1ODYtcG9reS1saW51eC9kaXJlY3RmYi0xLjQuMTUtcjEvcGFja2FnZXMtc3BsaXQvZGlyZWN0ZmIvdXNyL2Jpbi9kZmJpbnNwZWN0b3IgY29udGFpbnMgcHJvYmFibHktcmVkdW5kYW50IFJQQVRIIC91c3IvbGliCitXQVJOSU5HOiBRQSBJc3N1ZTogZGlyZWN0ZmI6IC93b3JrL2k1ODYtcG9reS1saW51eC9kaXJlY3RmYi0xLjQuMTUtcjEvcGFja2FnZXMtc3BsaXQvZGlyZWN0ZmIvdXNyL2Jpbi9ta2RmaWZmIGNvbnRhaW5zIHByb2JhYmx5LXJlZHVuZGFudCBSUEFUSCAvdXNyL2xpYgorV0FSTklORzogUUEgSXNzdWU6IGRpcmVjdGZiOiAvd29yay9pNTg2LXBva3ktbGludXgvZGlyZWN0ZmItMS40LjE1LXIxL3BhY2thZ2VzLXNwbGl0L2RpcmVjdGZiL3Vzci9iaW4vZGZiaW5mbyBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWIKK1dBUk5JTkc6IFFBIElzc3VlOiBkaXJlY3RmYjogL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L2RpcmVjdGZiLTEuNC4xNS1yMS9wYWNrYWdlcy1zcGxpdC9kaXJlY3RmYi91c3IvYmluL2RmYnBlbm1vdW50IGNvbnRhaW5zIHByb2JhYmx5LXJlZHVuZGFudCBSUEFUSCAvdXNyL2xpYgorV0FSTklORzogUUEgSXNzdWU6IGRpcmVjdGZiOiAvd29yay9pNTg2LXBva3ktbGludXgvZGlyZWN0ZmItMS40LjE1LXIxL3BhY2thZ2VzLXNwbGl0L2RpcmVjdGZiL3Vzci9iaW4vZGZiZyBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWIKK1dBUk5JTkc6IFFBIElzc3VlOiBkaXJlY3RmYjogL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L2RpcmVjdGZiLTEuNC4xNS1yMS9wYWNrYWdlcy1zcGxpdC9kaXJlY3RmYi91c3IvbGliL2xpYmZ1c2lvbi0xLjQuc28uNiBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWIKK1dBUk5JTkc6IFFBIElzc3VlOiBkaXJlY3RmYjogL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L2RpcmVjdGZiLTEuNC4xNS1yMS9wYWNrYWdlcy1zcGxpdC9kaXJlY3RmYi91c3IvbGliL2xpYmRpcmVjdGZiLTEuNC5zby42LjAuOSBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWIKK1dBUk5JTkc6IFFBIElzc3VlOiBkaXJlY3RmYjogL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L2RpcmVjdGZiLTEuNC4xNS1yMS9wYWNrYWdlcy1zcGxpdC9kaXJlY3RmYi91c3IvbGliL2xpYmRpcmVjdGZiLTEuNC5zby42IGNvbnRhaW5zIHByb2JhYmx5LXJlZHVuZGFudCBSUEFUSCAvdXNyL2xpYgorV0FSTklORzogUUEgSXNzdWU6IGRpcmVjdGZiOiAvd29yay9pNTg2LXBva3ktbGludXgvZGlyZWN0ZmItMS40LjE1LXIxL3BhY2thZ2VzLXNwbGl0L2RpcmVjdGZiL3Vzci9saWIvbGliZnVzaW9uLTEuNC5zby42LjAuOSBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWIKK1dBUk5JTkc6IFFBIElzc3VlOiBkaXJlY3RmYjogL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L2RpcmVjdGZiLTEuNC4xNS1yMS9wYWNrYWdlcy1zcGxpdC9kaXJlY3RmYi91c3IvbGliL2RpcmVjdGZiLTEuNC02L3N5c3RlbXMvbGliZGlyZWN0ZmJfZmJkZXYuc28gY29udGFpbnMgcHJvYmFibHktcmVkdW5kYW50IFJQQVRIIC91c3IvbGliCitXQVJOSU5HOiBRQSBJc3N1ZTogZGlyZWN0ZmI6IC93b3JrL2k1ODYtcG9reS1saW51eC9kaXJlY3RmYi0xLjQuMTUtcjEvcGFja2FnZXMtc3BsaXQvZGlyZWN0ZmIvdXNyL2xpYi9kaXJlY3RmYi0xLjQtNi9zeXN0ZW1zL2xpYmRpcmVjdGZiX2Rldm1lbS5zbyBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWIKK1dBUk5JTkc6IFFBIElzc3VlOiBkaXJlY3RmYjogL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L2RpcmVjdGZiLTEuNC4xNS1yMS9wYWNrYWdlcy1zcGxpdC9kaXJlY3RmYi91c3IvbGliL2RpcmVjdGZiLTEuNC02L3N5c3RlbXMvbGliZGlyZWN0ZmJfZHVtbXkuc28gY29udGFpbnMgcHJvYmFibHktcmVkdW5kYW50IFJQQVRIIC91c3IvbGliCitXQVJOSU5HOiBRQSBJc3N1ZTogZGlyZWN0ZmI6IC93b3JrL2k1ODYtcG9reS1saW51eC9kaXJlY3RmYi0xLjQuMTUtcjEvcGFja2FnZXMtc3BsaXQvZGlyZWN0ZmIvdXNyL2xpYi9kaXJlY3RmYi0xLjQtNi9pbnRlcmZhY2VzL0lEaXJlY3RGQlZpZGVvUHJvdmlkZXIvbGliaWRpcmVjdGZidmlkZW9wcm92aWRlcl92NGwuc28gY29udGFpbnMgcHJvYmFibHktcmVkdW5kYW50IFJQQVRIIC91c3IvbGliCitXQVJOSU5HOiBRQSBJc3N1ZTogZGlyZWN0ZmI6IC93b3JrL2k1ODYtcG9reS1saW51eC9kaXJlY3RmYi0xLjQuMTUtcjEvcGFja2FnZXMtc3BsaXQvZGlyZWN0ZmIvdXNyL2xpYi9kaXJlY3RmYi0xLjQtNi9pbnRlcmZhY2VzL0lEaXJlY3RGQlZpZGVvUHJvdmlkZXIvbGliaWRpcmVjdGZidmlkZW9wcm92aWRlcl9naWYuc28gY29udGFpbnMgcHJvYmFibHktcmVkdW5kYW50IFJQQVRIIC91c3IvbGliCitXQVJOSU5HOiBRQSBJc3N1ZTogZGlyZWN0ZmI6IC93b3JrL2k1ODYtcG9reS1saW51eC9kaXJlY3RmYi0xLjQuMTUtcjEvcGFja2FnZXMtc3BsaXQvZGlyZWN0ZmIvdXNyL2xpYi9kaXJlY3RmYi0xLjQtNi9pbnRlcmZhY2VzL0lDb3JlUmVzb3VyY2VNYW5hZ2VyL2xpYmljb3JlcmVzb3VyY2VtYW5hZ2VyX3Rlc3Quc28gY29udGFpbnMgcHJvYmFibHktcmVkdW5kYW50IFJQQVRIIC91c3IvbGliCitXQVJOSU5HOiBRQSBJc3N1ZTogZGlyZWN0ZmI6IC93b3JrL2k1ODYtcG9reS1saW51eC9kaXJlY3RmYi0xLjQuMTUtcjEvcGFja2FnZXMtc3BsaXQvZGlyZWN0ZmIvdXNyL2xpYi9kaXJlY3RmYi0xLjQtNi9pbnRlcmZhY2VzL0lEaXJlY3RGQkltYWdlUHJvdmlkZXIvbGliaWRpcmVjdGZiaW1hZ2Vwcm92aWRlcl9qcGVnLnNvIGNvbnRhaW5zIHByb2JhYmx5LXJlZHVuZGFudCBSUEFUSCAvdXNyL2xpYgorV0FSTklORzogUUEgSXNzdWU6IGRpcmVjdGZiOiAvd29yay9pNTg2LXBva3ktbGludXgvZGlyZWN0ZmItMS40LjE1LXIxL3BhY2thZ2VzLXNwbGl0L2RpcmVjdGZiL3Vzci9saWIvZGlyZWN0ZmItMS40LTYvaW50ZXJmYWNlcy9JRGlyZWN0RkJJbWFnZVByb3ZpZGVyL2xpYmlkaXJlY3RmYmltYWdlcHJvdmlkZXJfcG5nLnNvIGNvbnRhaW5zIHByb2JhYmx5LXJlZHVuZGFudCBSUEFUSCAvdXNyL2xpYgorV0FSTklORzogUUEgSXNzdWU6IGRpcmVjdGZiOiAvd29yay9pNTg2LXBva3ktbGludXgvZGlyZWN0ZmItMS40LjE1LXIxL3BhY2thZ2VzLXNwbGl0L2RpcmVjdGZiL3Vzci9saWIvZGlyZWN0ZmItMS40LTYvaW50ZXJmYWNlcy9JRGlyZWN0RkJJbWFnZVByb3ZpZGVyL2xpYmlkaXJlY3RmYmltYWdlcHJvdmlkZXJfZGZpZmYuc28gY29udGFpbnMgcHJvYmFibHktcmVkdW5kYW50IFJQQVRIIC91c3IvbGliCitXQVJOSU5HOiBRQSBJc3N1ZTogZGlyZWN0ZmI6IC93b3JrL2k1ODYtcG9reS1saW51eC9kaXJlY3RmYi0xLjQuMTUtcjEvcGFja2FnZXMtc3BsaXQvZGlyZWN0ZmIvdXNyL2xpYi9kaXJlY3RmYi0xLjQtNi9pbnRlcmZhY2VzL0lEaXJlY3RGQkltYWdlUHJvdmlkZXIvbGliaWRpcmVjdGZiaW1hZ2Vwcm92aWRlcl9naWYuc28gY29udGFpbnMgcHJvYmFibHktcmVkdW5kYW50IFJQQVRIIC91c3IvbGliCitXQVJOSU5HOiBRQSBJc3N1ZTogZGlyZWN0ZmI6IC93b3JrL2k1ODYtcG9reS1saW51eC9kaXJlY3RmYi0xLjQuMTUtcjEvcGFja2FnZXMtc3BsaXQvZGlyZWN0ZmIvdXNyL2xpYi9kaXJlY3RmYi0xLjQtNi9pbnRlcmZhY2VzL0lEaXJlY3RGQkZvbnQvbGliaWRpcmVjdGZiZm9udF9mdDIuc28gY29udGFpbnMgcHJvYmFibHktcmVkdW5kYW50IFJQQVRIIC91c3IvbGliCitXQVJOSU5HOiBRQSBJc3N1ZTogZGlyZWN0ZmI6IC93b3JrL2k1ODYtcG9reS1saW51eC9kaXJlY3RmYi0xLjQuMTUtcjEvcGFja2FnZXMtc3BsaXQvZGlyZWN0ZmIvdXNyL2xpYi9kaXJlY3RmYi0xLjQtNi9pbnRlcmZhY2VzL0lEaXJlY3RGQkZvbnQvbGliaWRpcmVjdGZiZm9udF9kZ2lmZi5zbyBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWIKK1dBUk5JTkc6IFFBIElzc3VlOiBkaXJlY3RmYjogL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L2RpcmVjdGZiLTEuNC4xNS1yMS9wYWNrYWdlcy1zcGxpdC9kaXJlY3RmYi91c3IvbGliL2RpcmVjdGZiLTEuNC02L3dtL2xpYmRpcmVjdGZid21fZGVmYXVsdC5zbyBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWIKK1dBUk5JTkc6IFFBIElzc3VlOiBkaXJlY3RmYjogL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L2RpcmVjdGZiLTEuNC4xNS1yMS9wYWNrYWdlcy1zcGxpdC9kaXJlY3RmYi91c3IvbGliL2RpcmVjdGZiLTEuNC02L2lucHV0ZHJpdmVycy9saWJkaXJlY3RmYl96eXRyb25pYy5zbyBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWIKK1dBUk5JTkc6IFFBIElzc3VlOiBkaXJlY3RmYjogL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L2RpcmVjdGZiLTEuNC4xNS1yMS9wYWNrYWdlcy1zcGxpdC9kaXJlY3RmYi91c3IvbGliL2RpcmVjdGZiLTEuNC02L2lucHV0ZHJpdmVycy9saWJkaXJlY3RmYl9wZW5tb3VudC5zbyBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWIKK1dBUk5JTkc6IFFBIElzc3VlOiBkaXJlY3RmYjogL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L2RpcmVjdGZiLTEuNC4xNS1yMS9wYWNrYWdlcy1zcGxpdC9kaXJlY3RmYi91c3IvbGliL2RpcmVjdGZiLTEuNC02L2lucHV0ZHJpdmVycy9saWJkaXJlY3RmYl9saW51eF9pbnB1dC5zbyBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWIKK1dBUk5JTkc6IFFBIElzc3VlOiBkaXJlY3RmYjogL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L2RpcmVjdGZiLTEuNC4xNS1yMS9wYWNrYWdlcy1zcGxpdC9kaXJlY3RmYi91c3IvbGliL2RpcmVjdGZiLTEuNC02L2lucHV0ZHJpdmVycy9saWJkaXJlY3RmYl9zZXJpYWxtb3VzZS5zbyBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWIKK1dBUk5JTkc6IFFBIElzc3VlOiBkaXJlY3RmYjogL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L2RpcmVjdGZiLTEuNC4xNS1yMS9wYWNrYWdlcy1zcGxpdC9kaXJlY3RmYi91c3IvbGliL2RpcmVjdGZiLTEuNC02L2lucHV0ZHJpdmVycy9saWJkaXJlY3RmYl9tdXRvdWNoLnNvIGNvbnRhaW5zIHByb2JhYmx5LXJlZHVuZGFudCBSUEFUSCAvdXNyL2xpYgorV0FSTklORzogUUEgSXNzdWU6IGRpcmVjdGZiOiAvd29yay9pNTg2LXBva3ktbGludXgvZGlyZWN0ZmItMS40LjE1LXIxL3BhY2thZ2VzLXNwbGl0L2RpcmVjdGZiL3Vzci9saWIvZGlyZWN0ZmItMS40LTYvaW5wdXRkcml2ZXJzL2xpYmRpcmVjdGZiX3RzbGliLnNvIGNvbnRhaW5zIHByb2JhYmx5LXJlZHVuZGFudCBSUEFUSCAvdXNyL2xpYgorV0FSTklORzogUUEgSXNzdWU6IGRpcmVjdGZiOiAvd29yay9pNTg2LXBva3ktbGludXgvZGlyZWN0ZmItMS40LjE1LXIxL3BhY2thZ2VzLXNwbGl0L2RpcmVjdGZiL3Vzci9saWIvZGlyZWN0ZmItMS40LTYvaW5wdXRkcml2ZXJzL2xpYmRpcmVjdGZiX2pveXN0aWNrLnNvIGNvbnRhaW5zIHByb2JhYmx5LXJlZHVuZGFudCBSUEFUSCAvdXNyL2xpYgorV0FSTklORzogUUEgSXNzdWU6IGRpcmVjdGZiOiAvd29yay9pNTg2LXBva3ktbGludXgvZGlyZWN0ZmItMS40LjE1LXIxL3BhY2thZ2VzLXNwbGl0L2RpcmVjdGZiL3Vzci9saWIvZGlyZWN0ZmItMS40LTYvaW5wdXRkcml2ZXJzL2xpYmRpcmVjdGZiX3NvbnlwaS5zbyBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWIKK1dBUk5JTkc6IFFBIElzc3VlOiBkaXJlY3RmYjogL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L2RpcmVjdGZiLTEuNC4xNS1yMS9wYWNrYWdlcy1zcGxpdC9kaXJlY3RmYi91c3IvbGliL2RpcmVjdGZiLTEuNC02L2lucHV0ZHJpdmVycy9saWJkaXJlY3RmYl9saXJjLnNvIGNvbnRhaW5zIHByb2JhYmx5LXJlZHVuZGFudCBSUEFUSCAvdXNyL2xpYgorV0FSTklORzogUUEgSXNzdWU6IGRpcmVjdGZiOiAvd29yay9pNTg2LXBva3ktbGludXgvZGlyZWN0ZmItMS40LjE1LXIxL3BhY2thZ2VzLXNwbGl0L2RpcmVjdGZiL3Vzci9saWIvZGlyZWN0ZmItMS40LTYvaW5wdXRkcml2ZXJzL2xpYmRpcmVjdGZiX3dtOTd4eF90cy5zbyBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWIKK1dBUk5JTkc6IFFBIElzc3VlOiBkaXJlY3RmYjogL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L2RpcmVjdGZiLTEuNC4xNS1yMS9wYWNrYWdlcy1zcGxpdC9kaXJlY3RmYi91c3IvbGliL2RpcmVjdGZiLTEuNC02L2lucHV0ZHJpdmVycy9saWJkaXJlY3RmYl9wczJtb3VzZS5zbyBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWIKK1dBUk5JTkc6IFFBIElzc3VlOiBkaXJlY3RmYjogL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L2RpcmVjdGZiLTEuNC4xNS1yMS9wYWNrYWdlcy1zcGxpdC9kaXJlY3RmYi91c3IvbGliL2RpcmVjdGZiLTEuNC02L2lucHV0ZHJpdmVycy9saWJkaXJlY3RmYl9rZXlib2FyZC5zbyBjb250YWlucyBwcm9iYWJseS1yZWR1bmRhbnQgUlBBVEggL3Vzci9saWIKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1JQIDIwMTIvMDMvMTYKKworSW5kZXg6IERpcmVjdEZCLTEuNC4xNS9jb25maWd1cmUuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBEaXJlY3RGQi0xLjQuMTUub3JpZy9jb25maWd1cmUuaW4JMjAxMi0wMy0xNiAxMzozMjoyMy42OTI0MDI4NzkgKzAwMDAKKysrKyBEaXJlY3RGQi0xLjQuMTUvY29uZmlndXJlLmluCTIwMTItMDMtMTYgMTM6MzM6MjIuMzEyNDAwOTYwICswMDAwCitAQCAtOTcsMTMgKzk3LDYgQEAKKyBBQ19DSEVDS19TSVpFT0YobG9uZyBsb25nKQorIEFDX0NIRUNLX0ZVTkNTKGZvcmspCisgCistCistIyMgV29yayBhcm91bmQgbGlic3R1aGwgZHVyaW5nIGNyb3NzIGJ1aWxkLi4uCistaWYgdGVzdCAiJGhvc3QiICE9ICIkYnVpbGQiOyB0aGVuCistICBzeXNfbGliX2Rsc2VhcmNoX3BhdGhfc3BlYz0iIgorLSAgc3lzX2xpYl9zZWFyY2hfcGF0aF9zcGVjPSIiCistZmkKKy0KKyBBQ19QQVRIX1BST0dTKFBFUkwsIHBlcmw1IHBlcmwpCisgCisgQUNfUEFUSF9QUk9HKE1BTjJIVE1MLCBtYW4yaHRtbCwgbm8pCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZGlyZWN0ZmIvZGlyZWN0ZmIvZnVzaW9uLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2RpcmVjdGZiL2RpcmVjdGZiL2Z1c2lvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjgxYTY3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2RpcmVjdGZiL2RpcmVjdGZiL2Z1c2lvbi5wYXRjaApAQCAtMCwwICsxLDM2IEBACitkaXJlY3RmYjogRml4IGZvciBoYW5ncyBpbiBkaXJlY3RfdGVzdCwgZnVzaW9uX3NraXJtaXNoIG9uIGV4aXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBMYXVyZW4gUG9zdCA8bGF1cmVuLnBvc3RAZnJlZXNjYWxlLmNvbT4KKworLS0tIGEvbGliL2Z1c2lvbi9mdXNpb24uYwkyMDEzLTAxLTE4IDIyOjU3OjExLjAwMDAwMDAwMCArMDgwMAorKysrIGIvbGliL2Z1c2lvbi9mdXNpb24uYwkyMDEzLTA3LTA0IDEwOjQyOjU2LjUwMjY5OTExOSArMDgwMAorQEAgLTI4NTMsOSArMjg1MywxNCBAQAorICAgICAgICAgICBkaXJlY3RfbXV0ZXhfbG9jayggJndvcmxkLT5ldmVudF9kaXNwYXRjaGVyX211dGV4ICk7CisgCisgICAgICAgICAgIHdoaWxlICgxKSB7CistICAgICAgICAgICAgICAgaWYgKCF3b3JsZC0+ZXZlbnRfZGlzcGF0Y2hlcl9idWZmZXJzKQorKyAgICAgICAgICAgICAgIGlmICghd29ybGQtPmV2ZW50X2Rpc3BhdGNoZXJfYnVmZmVycyl7CisgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rfd2FpdHF1ZXVlX3dhaXQoICZ3b3JsZC0+ZXZlbnRfZGlzcGF0Y2hlcl9jb25kLCAmd29ybGQtPmV2ZW50X2Rpc3BhdGNoZXJfbXV0ZXggKTsKKy0KKysgICAgICAgICAgICAgICAgICAgIGlmICh3b3JsZC0+ZGlzcGF0Y2hfc3RvcCkgeworKyAgICAgICAgICAgICAgICAgICAgICAgICBEX0RFQlVHX0FUKCBGdXNpb25fTWFpbl9EaXNwYXRjaCwgIiAgLT4gSUdOT1JJTkcgKGRpc3BhdGNoX3N0b3AhKVxuIiApOworKyAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RfbXV0ZXhfdW5sb2NrKCAmd29ybGQtPmV2ZW50X2Rpc3BhdGNoZXJfbXV0ZXggKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisrICAgICAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGJ1ZiA9IChGdXNpb25FdmVudERpc3BhdGNoZXJCdWZmZXIgKil3b3JsZC0+ZXZlbnRfZGlzcGF0Y2hlcl9idWZmZXJzOworICAgICAgICAgICAgICAgIERfTUFHSUNfQVNTRVJUKCBidWYsIEZ1c2lvbkV2ZW50RGlzcGF0Y2hlckJ1ZmZlciApOworIAorQEAgLTI4NzIsNiArMjg3NywxMSBAQAorIC8vRF9JTkZPKCJ3YWl0aW5nLi4uXG4iKTsKKyAgICAgICAgICAgICAgICAgICAgIERfQVNTRVJUKCBidWYtPnJlYWRfcG9zID09IGJ1Zi0+d3JpdGVfcG9zICk7CisgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rfd2FpdHF1ZXVlX3dhaXQoICZ3b3JsZC0+ZXZlbnRfZGlzcGF0Y2hlcl9jb25kLCAmd29ybGQtPmV2ZW50X2Rpc3BhdGNoZXJfbXV0ZXggKTsKKysJCSAgICAgIGlmICh3b3JsZC0+ZGlzcGF0Y2hfc3RvcCkgeworKyAgICAgICAgICAgICAgICAgICAgICAgICBEX0RFQlVHX0FUKCBGdXNpb25fTWFpbl9EaXNwYXRjaCwgIiAgLT4gSUdOT1JJTkcgKGRpc3BhdGNoX3N0b3AhKVxuIiApOworKyAgICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3RfbXV0ZXhfdW5sb2NrKCAmd29ybGQtPmV2ZW50X2Rpc3BhdGNoZXJfbXV0ZXggKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisrICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorIAorICAgICAgICAgICAgICAgIGJ1ZiA9IChGdXNpb25FdmVudERpc3BhdGNoZXJCdWZmZXIgKil3b3JsZC0+ZXZlbnRfZGlzcGF0Y2hlcl9idWZmZXJzOwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2RpcmVjdGZiL2RpcmVjdGZiXzEuNy43LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2RpcmVjdGZiL2RpcmVjdGZiXzEuNy43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2YzA3MGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZGlyZWN0ZmIvZGlyZWN0ZmJfMS43LjcuYmIKQEAgLTAsMCArMSw4IEBACityZXF1aXJlIGRpcmVjdGZiLmluYworCitSViA9ICIxLjctNyIKKworTEVBRF9TT05BTUUgPSAibGliZGlyZWN0ZmItMS43LnNvLjAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxNTJjZjE4NjNiMWEzYTI4YWExMzcwZTkwNTM0NDBiZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiNzg1YzYzOGRjMzFiOGZlM2E3YzgxYmUxNDc1Yzg5YjIyNTVhYjNkNjdiNzc3Yzc0N2QzZmJjNTJmODAyN2EzIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2RybS9saWJkcm0vaW5zdGFsbHRlc3RzLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2RybS9saWJkcm0vaW5zdGFsbHRlc3RzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExNzVkYWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZHJtL2xpYmRybS9pbnN0YWxsdGVzdHMucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAordGVzdHM6IGFsc28gaW5zdGFsbCB0ZXN0cyBhcHAKKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitTaWduZWQtb2ZmLWJ5OiBZdSBLZSA8a2UueXVAaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUuYW0gYi90ZXN0cy9NYWtlZmlsZS5hbQoraW5kZXggYmYxOTg3Zi4uZDkwOWUxOSAxMDA2NDQKKy0tLSBhL3Rlc3RzL01ha2VmaWxlLmFtCisrKysgYi90ZXN0cy9NYWtlZmlsZS5hbQorQEAgLTI3LDEwICsyNywxMSBAQCBBTV9DUFBGTEFHUyA9IFwKKyAKKyBMREFERCA9ICQodG9wX2J1aWxkZGlyKS9saWJkcm0ubGEKKyAKKy1jaGVja19QUk9HUkFNUyA9IFwKKytiaW5fUFJPR1JBTVMgPSBcCisgCWRyaXN0YXQgXAorIAlkcm1zdGF0CisgCisrY2hlY2tfUFJPR1JBTVMgPQorIGlmIEhBVkVfTk9VVkVBVQorIFNVQkRJUlMgKz0gbm91dmVhdQorIGVuZGlmCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZHJtL2xpYmRybV8yLjQuNjIuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZHJtL2xpYmRybV8yLjQuNjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWE2MzA1ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9kcm0vbGliZHJtXzIuNC42Mi5iYgpAQCAtMCwwICsxLDQyIEBACitTVU1NQVJZID0gIlVzZXJzcGFjZSBpbnRlcmZhY2UgdG8gdGhlIGtlcm5lbCBEUk0gc2VydmljZXMiCitERVNDUklQVElPTiA9ICJUaGUgcnVudGltZSBsaWJyYXJ5IGZvciBhY2Nlc3NpbmcgdGhlIGtlcm5lbCBEUk0gc2VydmljZXMuICBEUk0gXAorc3RhbmRzIGZvciBcIkRpcmVjdCBSZW5kZXJpbmcgTWFuYWdlclwiLCB3aGljaCBpcyB0aGUga2VybmVsIHBvcnRpb24gb2YgdGhlIFwKK1wiRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZVwiIChEUkkpLiAgRFJJIGlzIHJlcXVpcmVkIGZvciBtYW55IGhhcmR3YXJlIFwKK2FjY2VsZXJhdGVkIE9wZW5HTCBkcml2ZXJzLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9kcmkuZnJlZWRlc2t0b3Aub3JnIgorU0VDVElPTiA9ICJ4MTEvYmFzZSIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8veGY4NmRybS5jO2JlZ2lubGluZT05O2VuZGxpbmU9MzI7bWQ1PWM4YTNiOTYxYWY3NjY3YzUzMDgxNjc2MWU5NDlkYzcxIgorUFJPVklERVMgPSAiZHJtIgorREVQRU5EUyA9ICJsaWJwdGhyZWFkLXN0dWJzIHVkZXYgbGlicGNpYWNjZXNzIgorCitTUkNfVVJJID0gImh0dHA6Ly9kcmkuZnJlZWRlc2t0b3Aub3JnL2xpYmRybS8ke0JQfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL2luc3RhbGx0ZXN0cy5wYXRjaCAiCitTUkNfVVJJW21kNXN1bV0gPSAiYzkyOTFiYWUwZTVjYTY1ZDE0ODM4MjFkMzY5OGQzYWIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOTA2YzI5NGJkYmUxYzk0YzNjYTA4NDMwNWQ2MWE2ZTVhODM2N2YzYjQ5ODZlNmNjMTNiMWU5YjNmNzU5MzFkYyIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLWNhaXJvLXRlc3RzIFwKKyAgICAgICAgICAgICAgICAgLS1lbmFibGUtb21hcC1leHBlcmltZW50YWwtYXBpIFwKKyAgICAgICAgICAgICAgICAgLS1lbmFibGUtaW5zdGFsbC10ZXN0LXByb2dyYW1zIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW1hbnBhZ2VzIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXZhbGdyaW5kIFwKKyAgICAgICAgICAgICAgICAiCisKK0FMTE9XX0VNUFRZXyR7UE59LWRyaXZlcnMgPSAiMSIKK1BBQ0tBR0VTID0rICIke1BOfS10ZXN0cyAke1BOfS1kcml2ZXJzICR7UE59LXJhZGVvbiAke1BOfS1ub3V2ZWF1ICR7UE59LW9tYXAgXAorICAgICAgICAgICAgICR7UE59LWludGVsICR7UE59LWV4eW5vcyAke1BOfS1rbXMgJHtQTn0tZnJlZWRyZW5vIgorCitSUkVDT01NRU5EU18ke1BOfS1kcml2ZXJzID0gIiR7UE59LXJhZGVvbiAke1BOfS1ub3V2ZWF1ICR7UE59LW9tYXAgJHtQTn0taW50ZWwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke1BOfS1leHlub3MgJHtQTn0tZnJlZWRyZW5vIgorCitGSUxFU18ke1BOfS10ZXN0cyA9ICIke2JpbmRpcn0vZHIqICR7YmluZGlyfS9tb2RlKiAke2JpbmRpcn0vKnRlc3QiCitGSUxFU18ke1BOfS1yYWRlb24gPSAiJHtsaWJkaXJ9L2xpYmRybV9yYWRlb24uc28uKiIKK0ZJTEVTXyR7UE59LW5vdXZlYXUgPSAiJHtsaWJkaXJ9L2xpYmRybV9ub3V2ZWF1LnNvLioiCitGSUxFU18ke1BOfS1vbWFwID0gIiR7bGliZGlyfS9saWJkcm1fb21hcC5zby4qIgorRklMRVNfJHtQTn0taW50ZWwgPSAiJHtsaWJkaXJ9L2xpYmRybV9pbnRlbC5zby4qIgorRklMRVNfJHtQTn0tZXh5bm9zID0gIiR7bGliZGlyfS9saWJkcm1fZXh5bm9zLnNvLioiCitGSUxFU18ke1BOfS1rbXMgPSAiJHtsaWJkaXJ9L2xpYmttcyouc28uKiIKK0ZJTEVTXyR7UE59LWZyZWVkcmVubyA9ICIke2xpYmRpcn0vbGliZHJtX2ZyZWVkcmVuby5zby4qIgorCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZWdsaW5mby9lZ2xpbmZvLWZiXzEuMC4wLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2VnbGluZm8vZWdsaW5mby1mYl8xLjAuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTVkMzFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2VnbGluZm8vZWdsaW5mby1mYl8xLjAuMC5iYgpAQCAtMCwwICsxLDYgQEAKK0VHTElORk9fUExBVEZPUk0gPz0gImZiIgorRUdMSU5GT19CSU5BUllfTkFNRSA/PSAiZWdsaW5mby1mYiIKKworaW5jbHVkZSBlZ2xpbmZvLmluYworCitTVU1NQVJZICs9ICIoRnJhbWVidWZmZXIgdmVyc2lvbikiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZWdsaW5mby9lZ2xpbmZvLXgxMV8xLjAuMC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9lZ2xpbmZvL2VnbGluZm8teDExXzEuMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0MjdmZGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZWdsaW5mby9lZ2xpbmZvLXgxMV8xLjAuMC5iYgpAQCAtMCwwICsxLDEyIEBACitFR0xJTkZPX1BMQVRGT1JNID89ICJ4MTEiCitFR0xJTkZPX0JJTkFSWV9OQU1FID89ICJlZ2xpbmZvLXgxMSIKKworaW5jbHVkZSBlZ2xpbmZvLmluYworCitERVBFTkRTICs9ICJ2aXJ0dWFsL2xpYngxMSIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1VNTUFSWSArPSAiKFgxMSB2ZXJzaW9uKSIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9lZ2xpbmZvL2VnbGluZm8uaW5jIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2VnbGluZm8vZWdsaW5mby5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg3Njg4YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9lZ2xpbmZvL2VnbGluZm8uaW5jCkBAIC0wLDAgKzEsMjcgQEAKK1NVTU1BUlkgPSAiVXRpbGl0eSBmb3IgcHJpbnRpbmcgaW5mb3JtYXRpb24gRUdMIGFuZCBpdHMgY2xpZW50IEFQSXMgKE9wZW5HTCwgT3BlbkdMIEVTLCBPcGVuVkcpIgorU0VDVElPTiA9ICJncmFwaGljcyIKK0xJQ0VOU0UgPSAiWmxpYiIKK0hPTUVQQUdFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9kdjEvZWdsaW5mbyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PThkNGYzM2JjM2FkZDk3NmY3ZGZhZTg1ZGFiNjZmMDNjIgorCitERVBFTkRTID0gInZpcnR1YWwvZWdsIgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vZHYxL2VnbGluZm8uZ2l0O2JyYW5jaD1tYXN0ZXIiCitTUkNSRVYgPSAiNGIzMTc2NDhlYzZjZjM5NTU2YTllNWQ4MDc4ZjYwNWJjMGVkZDVkZSIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCB3YWYKKworIyBCU1AgbGF5ZXJzIHNob3VsZCBhZGQgLmJiYXBwZW5kIGZpbGVzIGZvciB0aGUgLXgxMSBhbmQgLWZiIC5iYiByZWNpcGVzLCB3aGljaAorIyBhcHBlbmQgdGhlIHJlc3BlY3RpdmUgRUdML09wZW5HTEVTL09wZW5WRyBsaWJyYXJpZXMgdG8gREVQRU5EUyBhbmQgc2V0CisjIEVHTF9ERVZJQ0UgYXMgYXBwcm9wcmlhdGUuCitFR0xJTkZPX0RFVklDRSA/PSAiZ2VuZXJpYyIKKworRVhUUkFfT0VDT05GID0gIi0tcGxhdGZvcm09JHtFR0xJTkZPX1BMQVRGT1JNfSBcCisgICAgICAgICAgICAgICAgLS1kZXZpY2U9JHtFR0xJTkZPX0RFVklDRX0gXAorICAgICAgICAgICAgICAgIC0tc3lzcm9vdCAke1NUQUdJTkdfRElSX1RBUkdFVH0iCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCW12ICR7RH0vJHtiaW5kaXJ9L2VnbGluZm8gJHtEfS8ke2JpbmRpcn0vJHtFR0xJTkZPX0JJTkFSWV9OQU1FfQorfQpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2ZvbnRjb25maWcvZm9udGNvbmZpZy9yZXZlcnQtc3RhdGljLXBrZ2NvbmZpZy5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9mb250Y29uZmlnL2ZvbnRjb25maWcvcmV2ZXJ0LXN0YXRpYy1wa2djb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmNhMWU2NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9mb250Y29uZmlnL2ZvbnRjb25maWcvcmV2ZXJ0LXN0YXRpYy1wa2djb25maWcucGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorUmV2ZXJ0IHBhcnQgb2YgaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL2ZvbnRjb25maWcvY29tbWl0L2ZvbnRjb25maWcucGMuaW4/aWQ9MzM4ZmZlNmI4ODZhZDRiYTg2ZmY0NzFjYjU5YzRhNWU1ZmZiZTQwOAorV2UgcmVhbGx5IGRvbnQgZG8gc3RhdGljIGxpbmtpbmcgc28gaXRzIG5vdCBnb2luZyB0byBjYXVzZSBpc3N1ZXMgZm9yIHVzIGJ1dCBhcyBzdWNoIHRoaXMgaXMgaGFybWluZyB1cyBieSBhZGRpbmcgYWJzb2x1dGUKK3BhdGhzIGludG8gLUkgb3B0aW9ucyBpbnRvIGZvbnRjb25maWcucGMgd2hpY2ggaXMgdGhlbSBwcmVwZW5kZWQgd2l0aCBzeXNyb290IHdoZW4gcmVhZCBiYWNrIGJ5IGNyb3NzIHBrZy1jb25maWcgYW5kCit3ZSBlbmQgdXAgd2l0aCAtSSA8c3lzcm9vdD4vPHN5c3Jvb3Q+L3Vzci9pbmNsdWRlL2ZvbnRjb25maWcgaW4gQ0ZMQUdTIG9mIGNsaWVudHMgd2hpY2ggZGVwZW5kIG9uIGl0LiBvbmUgc3VjaCBleGFtcGxlCitpcyBtYXRjaGJveC1wYW5lbC0yIGFuZCBpdCB3YXMgd29ya2luZyBmaW5lIHdpdGggZ2NjIDwgNSBiZWNhdXNlIGl0IHRvbGVyYXRlZCBub24tZXhpc3RpbmcgcGF0aHMgaW4gLUkgZmxhZ3MgYnV0IGdjYy01CitnZW50bHkgcmVmdXNlcyBhbmQgcmlnaHRseSBzby4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtPRS1TcGVjaWZpY10KK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK0luZGV4OiBmb250Y29uZmlnLTIuMTEuOTMvZm9udGNvbmZpZy5wYy5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGZvbnRjb25maWctMi4xMS45My5vcmlnL2ZvbnRjb25maWcucGMuaW4KKysrKyBmb250Y29uZmlnLTIuMTEuOTMvZm9udGNvbmZpZy5wYy5pbgorQEAgLTE1LDQgKzE1LDQgQEAgUmVxdWlyZXM6IEBQS0dDT05GSUdfUkVRVUlSRVNACisgUmVxdWlyZXMucHJpdmF0ZTogQFBLR0NPTkZJR19SRVFVSVJFU19QUklWQVRFTFlACisgTGliczogLUwke2xpYmRpcn0gLWxmb250Y29uZmlnCisgTGlicy5wcml2YXRlOiBARVhQQVRfTElCU0AgQEZSRUVUWVBFX0xJQlNAIEBJQ09OVl9MSUJTQCBATElCWE1MMl9MSUJTQAorLUNmbGFnczogLUkke2luY2x1ZGVkaXJ9IEBFWFBBVF9DRkxBR1NAIEBGUkVFVFlQRV9DRkxBR1NAIEBJQ09OVl9DRkxBR1NAIEBMSUJYTUwyX0NGTEFHU0AKKytDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2ZvbnRjb25maWcvZm9udGNvbmZpZ18yLjExLjk0LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2ZvbnRjb25maWcvZm9udGNvbmZpZ18yLjExLjk0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliYmZmMjAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZm9udGNvbmZpZy9mb250Y29uZmlnXzIuMTEuOTQuYmIKQEAgLTAsMCArMSw0NSBAQAorU1VNTUFSWSA9ICJHZW5lcmljIGZvbnQgY29uZmlndXJhdGlvbiBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiRm9udGNvbmZpZyBpcyBhIGZvbnQgY29uZmlndXJhdGlvbiBhbmQgY3VzdG9taXphdGlvbiBsaWJyYXJ5LCB3aGljaCBcCitkb2VzIG5vdCBkZXBlbmQgb24gdGhlIFggV2luZG93IFN5c3RlbS4gSXQgaXMgZGVzaWduZWQgdG8gbG9jYXRlIFwKK2ZvbnRzIHdpdGhpbiB0aGUgc3lzdGVtIGFuZCBzZWxlY3QgdGhlbSBhY2NvcmRpbmcgdG8gcmVxdWlyZW1lbnRzIFwKK3NwZWNpZmllZCBieSBhcHBsaWNhdGlvbnMuIFwKK0ZvbnRjb25maWcgaXMgbm90IGEgcmFzdGVyaXphdGlvbiBsaWJyYXJ5LCBub3IgZG9lcyBpdCBpbXBvc2UgYSBcCitwYXJ0aWN1bGFyIHJhc3Rlcml6YXRpb24gbGlicmFyeSBvbiB0aGUgYXBwbGljYXRpb24uIFRoZSBYLXNwZWNpZmljIFwKK2xpYnJhcnkgJ1hmdCcgdXNlcyBmb250Y29uZmlnIGFsb25nIHdpdGggZnJlZXR5cGUgdG8gc3BlY2lmeSBhbmQgXAorcmFzdGVyaXplIGZvbnRzLiIKKworSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mb250Y29uZmlnLm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9Zm9udGNvbmZpZyIKKworTElDRU5TRSA9ICJNSVQtc3R5bGUgJiBNSVQgJiBQRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTdhMDQ0OWU5YmM1MzcwNDAyYTk0YzAwMjA0YmVjYTNkIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9mY2ZyZWV0eXBlLmM7ZW5kbGluZT00NTttZDU9NWQ5NTEzZTMxOTZhMWZiZmRmYTk0MDUxYzA5ZGZjODQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2ZjY2FjaGUuYztiZWdpbmxpbmU9MTE5OTtlbmRsaW5lPTEyMTQ7bWQ1PTAzMjZjZmViNGE3MzMzZGQ0ZGQyNWZiYmM0YjlmMjdmIgorCitTRUNUSU9OID0gImxpYnMiCisKK0RFUEVORFMgPSAiZXhwYXQgZnJlZXR5cGUgemxpYiIKKworU1JDX1VSSSA9ICJodHRwOi8vZm9udGNvbmZpZy5vcmcvcmVsZWFzZS9mb250Y29uZmlnLSR7UFZ9LnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9yZXZlcnQtc3RhdGljLXBrZ2NvbmZpZy5wYXRjaCBcCisgICAgICAgICAgICIKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NzliZTg3MGM3ZjgzZjE1Zjg3YmFjMDg1YjYxZDY0MSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3M2Y2ZDMyM2M3YmNmYmRlMjVkNzgzOTc2NzUxOTFkNTViOGY0MTM5MTMyYzZhOTQ0NDQxMGYzYTJkOGE5YTk1IgorCitQQUNLQUdFUyA9KyAiZm9udGNvbmZpZy11dGlscyIKK0ZJTEVTXyR7UE59ID0rICIke2RhdGFkaXJ9L3htbC8qIgorRklMRVNfZm9udGNvbmZpZy11dGlscyA9ICIke2JpbmRpcn0vKiIKKworIyBXb3JrIGFyb3VuZCBwYXN0IGJyZWFrYWdlIGluIGRlYmlhbi5iYmNsYXNzCitSUFJPVklERVNfZm9udGNvbmZpZy11dGlscyA9ICJsaWJmb250Y29uZmlnLXV0aWxzIgorUlJFUExBQ0VTX2ZvbnRjb25maWctdXRpbHMgPSAibGliZm9udGNvbmZpZy11dGlscyIKK1JDT05GTElDVFNfZm9udGNvbmZpZy11dGlscyA9ICJsaWJmb250Y29uZmlnLXV0aWxzIgorREVCSUFOX05PQVVUT05BTUVfZm9udGNvbmZpZy11dGlscyA9ICIxIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRk9OVENPTkZJR19DQUNIRV9ESVIgPz0gIiR7bG9jYWxzdGF0ZWRpcn0vY2FjaGUvZm9udGNvbmZpZyIKKworRVhUUkFfT0VDT05GID0gIiAtLWRpc2FibGUtZG9jcyAtLXdpdGgtZGVmYXVsdC1mb250cz0ke2RhdGFkaXJ9L2ZvbnRzIC0td2l0aC1jYWNoZS1kaXI9JHtGT05UQ09ORklHX0NBQ0hFX0RJUn0iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2ZyZWV0eXBlL2ZyZWV0eXBlXzIuNi5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9mcmVldHlwZS9mcmVldHlwZV8yLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzA1OTljNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9mcmVldHlwZS9mcmVldHlwZV8yLjYuYmIKQEAgLTAsMCArMSw2MCBAQAorU1VNTUFSWSA9ICJGcmVldHlwZSBmb250IHJlbmRlcmluZyBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiRnJlZVR5cGUgaXMgYSBzb2Z0d2FyZSBmb250IGVuZ2luZSB0aGF0IGlzIGRlc2lnbmVkIHRvIGJlIHNtYWxsLCBlZmZpY2llbnQsIFwKK2hpZ2hseSBjdXN0b21pemFibGUsIGFuZCBwb3J0YWJsZSB3aGlsZSBjYXBhYmxlIG9mIHByb2R1Y2luZyBoaWdoLXF1YWxpdHkgb3V0cHV0IChnbHlwaCBcCitpbWFnZXMpLiBJdCBjYW4gYmUgdXNlZCBpbiBncmFwaGljcyBsaWJyYXJpZXMsIGRpc3BsYXkgc2VydmVycywgZm9udCBjb252ZXJzaW9uIHRvb2xzLCB0ZXh0IFwKK2ltYWdlIGdlbmVyYXRpb24gdG9vbHMsIGFuZCBtYW55IG90aGVyIHByb2R1Y3RzIGFzIHdlbGwuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5mcmVldHlwZS5vcmcvIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL3NhdmFubmFoLm5vbmdudS5vcmcvYnVncy8/Z3JvdXA9ZnJlZXR5cGUiCisKK0xJQ0VOU0UgPSAiRnJlZVR5cGUgfCBHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kb2NzL0xJQ0VOU0UuVFhUO21kNT1jMDE3ZmYxN2ZjNmYwNzk0YWRmOTNkYjU1NTljY2Q1NiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kb2NzL0ZUTC5UWFQ7bWQ1PWQ0NzllODM3OTdmNjk5ZmU4NzNiMzhkYWRkMGZjZDRjIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RvY3MvR1BMdjIuVFhUO21kNT04ZWYzODA0NzZmNjQyYzIwZWJmNDBmZWNiMGFkZDJlYyIKKworU0VDVElPTiA9ICJsaWJzIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9mcmVldHlwZS9mcmVldHlwZS0ke1BWfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjU2ODI4OTBjYjAyNjdmNjY3MWRkM2RlNmVhYmQzZTY5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjg0NjlmYjgxMjQ3NjRmODUwMjljYzgyNDdjMzFlMTMyYTJjNWU1MTA4NGRkY2UyYTQ0ZWEzMmVlNGFlODM0N2UiCisKK0JJTkNPTkZJRyA9ICIke2JpbmRpcn0vZnJlZXR5cGUtY29uZmlnIgorCitpbmhlcml0IGF1dG90b29scy1icm9rZW5zZXAgcGtnY29uZmlnIGJpbmNvbmZpZy1kaXNhYmxlZCBtdWx0aWxpYl9oZWFkZXIKKworTElCVE9PTCA9ICIke1N9L2J1aWxkcy91bml4LyR7SE9TVF9TWVN9LWxpYnRvb2wiCitFWFRSQV9PRU1BS0UgPSAiJ0xJQlRPT0w9JHtMSUJUT09MfSciCitFWFRSQV9PRU1BS0VfY2xhc3MtbmF0aXZlID0gIiIKK0VYVFJBX09FQ09ORiA9ICItLXdpdGhvdXQtemxpYiAtLXdpdGhvdXQtYnppcDIgQ0NfQlVJTEQ9JyR7QlVJTERfQ0N9JyIKK1RBUkdFVF9DUFBGTEFHUyArPSAiLURfRklMRV9PRkZTRVRfQklUUz02NCIKKworCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1twaXhtYXBdID0gIi0td2l0aC1wbmcsLS13aXRob3V0LXBuZyxsaWJwbmciCisjIFRoaXMgcmVzdWx0cyBpbiBhIGNpcmN1bGFyIGRlcGVuZGVuY3kgc28gZW5hYmxpbmcgaXMgbm9uLXRyaXZpYWwKK1BBQ0tBR0VDT05GSUdbaGFyZmJ1enpdID0gIi0td2l0aC1oYXJmYnV6eiwtLXdpdGhvdXQtaGFyZmJ1enosaGFyZmJ1enoiCisKK2RvX2NvbmZpZ3VyZSgpIHsKKwljZCBidWlsZHMvdW5peAorCWxpYnRvb2xpemUgLS1mb3JjZSAtLWNvcHkKKwlhY2xvY2FsIC1JIC4KKwlnbnUtY29uZmlnaXplIC0tZm9yY2UKKwlhdXRvY29uZgorCWNkICR7U30KKwlvZV9ydW5jb25mCit9CisKK2RvX2NvbmZpZ3VyZV9jbGFzcy1uYXRpdmUoKSB7CisJKGNkIGJ1aWxkcy91bml4ICYmIGdudS1jb25maWdpemUpIHx8IGRpZSAiZmFpbHVyZSBydW5uaW5nIGdudS1jb25maWdpemUiCisJb2VfcnVuY29uZgorfQorCitkb19jb21waWxlX3ByZXBlbmQoKSB7CisJJHtCVUlMRF9DQ30gLW8gb2Jqcy9hcGluYW1lcyBzcmMvdG9vbHMvYXBpbmFtZXMuYworfQorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwlvZV9tdWx0aWxpYl9oZWFkZXIgZnJlZXR5cGUyL2NvbmZpZy9mdGNvbmZpZy5oCit9CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZnN0ZXN0cy9mc3Rlc3RzX2dpdC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9mc3Rlc3RzL2ZzdGVzdHNfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1YzMzZjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZnN0ZXN0cy9mc3Rlc3RzX2dpdC5iYgpAQCAtMCwwICsxLDE4IEBACitTVU1NQVJZID0gIlZhcmlvdXMgYmVuY2htYXJuaW5nIHRlc3RzIGZvciBYIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5vLWhhbmQuY29tIgorU0VDVElPTiA9ICJkZXZlbCIKK0xJQ0VOU0UgPSAiWmxpYiIKK0RFUEVORFMgPSAicGFuZ28gbGlieGV4dCBsaWJ4ZnQgdmlydHVhbC9saWJ4MTEgZ3RrKyIKKworU1JDUkVWID0gImU1OTM5ZmY2MDhiOTVjZGQ0ZDBhYjBlMTkzNTc4MWFiOWEyNzZhYzAiCitQViA9ICIwLjErZ2l0JHtTUkNQVn0iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvJHtCUE59IgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly90ZXN0LXBhbmdvLWdkay5jO2VuZGxpbmU9MjQ7bWQ1PTFlZTc0ZWM4NTFlY2RhNTdlYjdhYzZjYzE4MGY3NjU1IgorCitTID0gIiR7V09SS0RJUn0vZ2l0L3Rlc3RzIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZ2xldy9nbGV3L2F1dG90b29scy5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9nbGV3L2dsZXcvYXV0b3Rvb2xzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkZmUwODcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvZ2xldy9nbGV3L2F1dG90b29scy5wYXRjaApAQCAtMCwwICsxLDE0OSBAQAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0luZGV4OiBnbGV3L01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2xldy9NYWtlZmlsZS5hbQkyMDA5LTEyLTAyIDAwOjMwOjIzLjI5NjY0MTY2MyArMDEwMAorQEAgLTAsMCArMSw1IEBACisrCisrQUNMT0NBTF9BTUZMQUdTID0gLUkgbTQgLS1pbnN0YWxsCisrCisrU1VCRElSUyA9IGluY2x1ZGUgc3JjCisrCitJbmRleDogZ2xldy9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnbGV3L2NvbmZpZ3VyZS5hYwkyMDA5LTEyLTAyIDAwOjMwOjIzLjI5NjY0MTY2MyArMDEwMAorQEAgLTAsMCArMSw2NyBAQAorKyMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0qLSBBdXRvY29uZiAtKi0KKysjIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b2NvbmYgdG8gcHJvZHVjZSBhIGNvbmZpZ3VyZSBzY3JpcHQuCisrCisrQUNfUFJFUkVRKFsyLjYyXSkKKytBQ19JTklUKFtnbGV3XSwgWzEuOS4wXSwgW0JVRy1SRVBPUlQtQUREUkVTU10pCisrQUNfQ09ORklHX1NSQ0RJUihbc3JjL2dsZXcuY10pCisrQUNfQ09ORklHX0hFQURFUlMoW2NvbmZpZy5oXSkKKytBTV9JTklUX0FVVE9NQUtFKFstV2FsbCAtV2Vycm9yIGZvcmVpZ25dKQorK0FDX0NPTkZJR19NQUNST19ESVIoW200XSkKKysKKytMVF9JTklUCisrCisrIyBDaGVja3MgZm9yIHByb2dyYW1zLgorK0FDX1BST0dfQ0MKKytBQ19QUk9HX0lOU1RBTEwKKytBQ19QUk9HX0xOX1MKKysKKysjIENoZWNrcyBmb3IgbGlicmFyaWVzLgorKworKyMgQ2hlY2tzIGZvciBoZWFkZXIgZmlsZXMuCisrQUNfQ0hFQ0tfSEVBREVSUyhbaW50dHlwZXMuaCBzdGRkZWYuaCBzdGRpbnQuaCBzdGRsaWIuaCBzdHJpbmcuaF0pCisrCisrIyBDaGVja3MgZm9yIHR5cGVkZWZzLCBzdHJ1Y3R1cmVzLCBhbmQgY29tcGlsZXIgY2hhcmFjdGVyaXN0aWNzLgorK0FDX1RZUEVfSU5UMzJfVAorK0FDX1RZUEVfSU5UNjRfVAorK0FDX1RZUEVfVUlOVDY0X1QKKytBQ19DSEVDS19UWVBFUyhbcHRyZGlmZl90XSkKKysKKysjIENoZWNrcyBmb3IgbGlicmFyeSBmdW5jdGlvbnMuCisrQUNfRlVOQ19NQUxMT0MKKytBQ19DSEVDS19GVU5DUyhbc3RydG9sXSkKKysKKysjIENoZWNrIGZvciBwa2djb25maWcgbGlicworKworK1BLR19DSEVDS19NT0RVTEVTKFtYMTFdLCBbeDExXSkKKytBQ19TVUJTVChbWDExX0xJQlNdKQorK0FDX1NVQlNUKFtYMTFfQ0ZMQUdTXSkKKysKKytQS0dfQ0hFQ0tfTU9EVUxFUyhbWE1VXSwgW3htdV0pCisrQUNfU1VCU1QoW1hNVV9MSUJTXSkKKytBQ19TVUJTVChbWE1VX0NGTEFHU10pCisrCisrUEtHX0NIRUNLX01PRFVMRVMoW1hJXSwgW3hpXSkKKytBQ19TVUJTVChbWElfTElCU10pCisrQUNfU1VCU1QoW1hJX0NGTEFHU10pCisrCisrUEtHX0NIRUNLX01PRFVMRVMoW1hFWFRdLCBbeGV4dF0pCisrQUNfU1VCU1QoW1hFWFRfTElCU10pCisrQUNfU1VCU1QoW1hFWFRfQ0ZMQUdTXSkKKysKKysjIENoZWNrIGZvciBHTFUgaXMgZW5vdWdoIGFuZCBpbXBsZXMgZ2wgc28gbm8gZG91YmxlZCAtbEdMIGluIExERkxBR1MKKytQS0dfQ0hFQ0tfTU9EVUxFUyhbR0xVXSwgW2dsdV0pCisrQUNfU1VCU1QoW0dMVV9MSUJTXSkKKytBQ19TVUJTVChbR0xVX0NGTEFHU10pCisrCisrIyBFTkFCTEUgb3B0aW9uIGZvciBNdWx0aXBsZSBSZW5kZXJpbmcgQ29udGV4dHMgc3VwcG9ydAorK0FDX0NIRUNLX0VOQUJMRV9HTEVXTVgKKysKKysjIGZvciBub3cgd2UgdXNlIHRoZSBzYW1lIHZlcnNpb24gYXMgdGhlIHBhY2thZ2UsIGJ1dCB0aGF0IHNob3VsZCBiZSBhdm9pZGVkCisrIyBpbiB0aGUgZnV0dXJlCisrCisrQUNfU1VCU1QoW0xJQkdMRVdfU09fVkVSU0lPTl0sIFsxOjk6MF0pCisrCisrQUNfQ09ORklHX0ZJTEVTKFtNYWtlZmlsZQorKyAgICAgICAgICAgICAgICAgaW5jbHVkZS9NYWtlZmlsZQorKyAgICAgICAgICAgICAgICAgc3JjL01ha2VmaWxlXSkKKytBQ19PVVRQVVQKK0luZGV4OiBnbGV3L3NyYy9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysrIGdsZXcvc3JjL01ha2VmaWxlLmFtCTIwMDktMTItMDIgMDA6MzM6NDguNjkwNzg2MTEwICswMTAwCitAQCAtMCwwICsxLDM1IEBACisrCisrQU1fQ1BQRkxBR1MgPSAtSSQodG9wX3NyY2RpcikvaW5jbHVkZQorKworK2lmIEVOQUJMRV9HTEVXTVgKKytBTV9DUFBGTEFHUyArPSAtREdMRVdfTVgKKytlbmRpZgorKworK0FNX0NGTEFHUyA9IEBYMTFfQ0ZMQUdTQCBcCisrICAgICAgICAgICAgQFhNVV9DRkxBR1NAIFwKKysgICAgICAgICAgICBAWElfQ0ZMQUdTQCBcCisrICAgICAgICAgICAgQFhFWFRfQ0ZMQUdTQCBcCisrICAgICAgICAgICAgQEdMVV9DRkxBR1NACisrCisrbGliX0xUTElCUkFSSUVTID0gbGliR0xFVy5sYQorKworK2xpYkdMRVdfbGFfU09VUkNFUyA9IGdsZXcuYworKworK2xpYkdMRVdfbGFfTElCQUREID0gQFgxMV9MSUJTQCBcCisrICAgICAgICAgICAgICAgICAgICBAWE1VX0xJQlNAIFwKKysgICAgICAgICAgICAgICAgICAgIEBYSV9MSUJTQCBcCisrICAgICAgICAgICAgICAgICAgICBAWEVYVF9MSUJTQCBcCisrICAgICAgICAgICAgICAgICAgICBAR0xVX0xJQlNACisrCisrbGliR0xFV19sYV9MREZMQUdTID0gLXZlcnNpb24tbnVtYmVyIEBMSUJHTEVXX1NPX1ZFUlNJT05ACisrCisrYmluX1BST0dSQU1TID0gZ2xld2luZm8gdmlzdWFsaW5mbworKworK2dsZXdpbmZvX1NPVVJDRVMgPSBnbGV3aW5mby5jCisrCisrZ2xld2luZm9fTERBREQgPSBsaWJHTEVXLmxhCisrCisrdmlzdWFsaW5mb19TT1VSQ0VTID0gIHZpc3VhbGluZm8uYworKworK3Zpc3VhbGluZm9fTERBREQgPSBsaWJHTEVXLmxhCisrCitJbmRleDogZ2xldy9tNC9nbGV3bXgubTQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnbGV3L200L2dsZXdteC5tNAkyMDA5LTEyLTAyIDAwOjMwOjIzLjI5NjY0MTY2MyArMDEwMAorQEAgLTAsMCArMSwxMSBAQAorKworK0FDX0RFRlVOKFtBQ19DSEVDS19FTkFCTEVfR0xFV01YXSxbCisrQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGluY2x1ZGUgTXVsdGlwbGUgUmVuZGVyaW5nIENvbnRleHRzIHN1cHBvcnRdKQorK0FDX0FSR19FTkFCTEUoW2dsZXdteF0sCisrICAgW0FTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1nbGV3bXhdLCBbZW5hYmxlIEdMRVcgTXVsdGlwbGUgUmVuZGVyaW5nIENvbnRleHRzIChkZWZhdWx0IGlzIG5vKV0pXSwKKysgICBbRU5BQkxFX0dMRVdNWD0iJGVuYWJsZXZhbCJdLAorKyAgIFtFTkFCTEVfR0xFV01YPSJubyJdKQorK0FDX01TR19SRVNVTFQoWyR7RU5BQkxFX0dMRVdNWH1dKQorK0FNX0NPTkRJVElPTkFMKFtFTkFCTEVfR0xFV01YXSwgW3Rlc3QgeCIke0VOQUJMRV9HTEVXTVh9IiA9ICJ4eWVzIl0pCisrXSkKKysKK0luZGV4OiBnbGV3L2luY2x1ZGUvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnbGV3L2luY2x1ZGUvTWFrZWZpbGUuYW0JMjAwOS0xMi0wMiAwMDozMDoyMy4yOTY2NDE2NjMgKzAxMDAKK0BAIC0wLDAgKzEsMyBAQAorKworK25vYmFzZV9pbmNsdWRlX0hFQURFUlMgPSBHTC9nbGV3LmggIEdML2dseGV3LmggIEdML3dnbGV3LmgKKysKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9nbGV3L2dsZXcvZml4LWdsZXcucGMtaW5zdGFsbC5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9nbGV3L2dsZXcvZml4LWdsZXcucGMtaW5zdGFsbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MGE5OWFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2dsZXcvZ2xldy9maXgtZ2xldy5wYy1pbnN0YWxsLnBhdGNoCkBAIC0wLDAgKzEsNDYgQEAKKworV2UgbWFpbnRhaW4gdGhlIGF1dG90b29scyBjb25maWd1cmUuYWMgYW5kIE1ha2VmaWxlLmFtLCB0byBjb3JyZWN0bHkKK3Byb3ZpZGUgdGhlIGdsZXcucGMsIHRoZSBmb2xsb3dpbmcgcGF0Y2ggaXMgbmVlZGVkLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKKworU2lnbmVkLW9mZi1ieTogU2F1bCBXb2xkIDxzZ3dAbGludXguaW50ZWwuY29tPgorCitJbmRleDogZ2xldy0xLjExLjAvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnbGV3LTEuMTEuMC5vcmlnL01ha2VmaWxlLmFtCisrKysgZ2xldy0xLjExLjAvTWFrZWZpbGUuYW0KK0BAIC0zLDMgKzMsNSBAQCBBQ0xPQ0FMX0FNRkxBR1MgPSAtSSBtNCAtLWluc3RhbGwKKyAKKyBTVUJESVJTID0gaW5jbHVkZSBzcmMKKyAKKytwa2djb25maWdkaXIgPSAkKGxpYmRpcikvcGtnY29uZmlnCisrcGtnY29uZmlnX0RBVEEgPSBnbGV3LnBjCitJbmRleDogZ2xldy0xLjExLjAvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2xldy0xLjExLjAub3JpZy9jb25maWd1cmUuYWMKKysrKyBnbGV3LTEuMTEuMC9jb25maWd1cmUuYWMKK0BAIC02Niw1ICs2Niw2IEBAIEFDX1NVQlNUKFtMSUJHTEVXX1NPX1ZFUlNJT05dLCBbMTo5OjBdKQorIAorIEFDX0NPTkZJR19GSUxFUyhbTWFrZWZpbGUKKyAgICAgICAgICAgICAgICAgIGluY2x1ZGUvTWFrZWZpbGUKKy0gICAgICAgICAgICAgICAgIHNyYy9NYWtlZmlsZV0pCisrICAgICAgICAgICAgICAgICBzcmMvTWFrZWZpbGUKKysgICAgICAgICAgICAgICAgIGdsZXcucGNdKQorIEFDX09VVFBVVAorSW5kZXg6IGdsZXctMS4xMS4wL2dsZXcucGMuaW4KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnbGV3LTEuMTEuMC5vcmlnL2dsZXcucGMuaW4KKysrKyBnbGV3LTEuMTEuMC9nbGV3LnBjLmluCitAQCAtNSw3ICs1LDcgQEAgaW5jbHVkZWRpcj0ke3ByZWZpeH0vaW5jbHVkZS9HTAorIAorIE5hbWU6IGdsZXcKKyBEZXNjcmlwdGlvbjogVGhlIE9wZW5HTCBFeHRlbnNpb24gV3JhbmdsZXIgbGlicmFyeQorLVZlcnNpb246IEB2ZXJzaW9uQAorLUNmbGFnczogLUkke2luY2x1ZGVkaXJ9IEBjZmxhZ3NACistTGliczogLUwke2xpYmRpcn0gLWxAbGlibmFtZUAKKy1SZXF1aXJlczogQHJlcXVpcmVzbGliQAorK1ZlcnNpb246IEBWRVJTSU9OQAorK0NmbGFnczogLUkke2luY2x1ZGVkaXJ9IEBDRkxBR1NACisrTGliczogLUwke2xpYmRpcn0gLWxHTEVXCisrUmVxdWlyZXM6IGdsdQpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2dsZXcvZ2xldy9nbGV3X2ZpeF9mb3JfYXV0b21ha2UtMS4xMi5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9nbGV3L2dsZXcvZ2xld19maXhfZm9yX2F1dG9tYWtlLTEuMTIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDcwN2VmYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9nbGV3L2dsZXcvZ2xld19maXhfZm9yX2F1dG9tYWtlLTEuMTIucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1RoaXMgcGF0Y2ggZml4ZXMgZm9sbG93aW5nIGlzc3VlIHdpdGggYXV0b21ha2UgMS4xMgorCit8IGF1dG9tYWtlOiB3YXJuaW5ncyBhcmUgdHJlYXRlZCBhcyBlcnJvcnMKK3wgL3Nydi9ob21lL25pdGluL2J1aWxkcy9idWlsZC1nY2M0Ny90bXAvc3lzcm9vdHMveDg2XzY0LWxpbnV4L3Vzci9zaGFyZS9hdXRvbWFrZS0xLjEyL2FtL2x0bGlicmFyeS5hbTogd2FybmluZzogJ2xpYkdMRVcubGEnOiBsaW5raW5nIGxpYnRvb2wgbGlicmFyaWVzIHVzaW5nIGEgbm9uLVBPU0lYCit8IC9zcnYvaG9tZS9uaXRpbi9idWlsZHMvYnVpbGQtZ2NjNDcvdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3Ivc2hhcmUvYXV0b21ha2UtMS4xMi9hbS9sdGxpYnJhcnkuYW06IGFyY2hpdmVyIHJlcXVpcmVzICdBTV9QUk9HX0FSJyBpbiAnY29uZmlndXJlLmFjJworCitTaWduZWQtT2ZmLUJ5OiBOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPgorMjAxMi8wNS8wMworCitJbmRleDogZ2xldy0xLjcuMC9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnbGV3LTEuNy4wLm9yaWcvY29uZmlndXJlLmFjCisrKysgZ2xldy0xLjcuMC9jb25maWd1cmUuYWMKK0BAIC0xNCw2ICsxNCw5IEBAIExUX0lOSVQKKyBBQ19QUk9HX0NDCisgQUNfUFJPR19JTlNUQUxMCisgQUNfUFJPR19MTl9TCisrIyBhdXRvbWFrZSAxLjEyIHNlZW1zIHRvIHJlcXVpcmUgdGhpcywgYnV0IGF1dG9tYWtlIDEuMTEgZG9lc24ndCByZWNvZ25pemUgaXQKKyttNF9wYXR0ZXJuX2FsbG93KFtBTV9QUk9HX0FSXSkKKytBTV9QUk9HX0FSCisgCisgIyBDaGVja3MgZm9yIGxpYnJhcmllcy4KKyAKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9nbGV3L2dsZXdfMS4xMi4wLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2dsZXcvZ2xld18xLjEyLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWIyOGM0ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9nbGV3L2dsZXdfMS4xMi4wLmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiT3BlbkdMIGV4dGVuc2lvbiBsb2FkaW5nIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJUaGUgT3BlbkdMIEV4dGVuc2lvbiBXcmFuZ2xlciBMaWJyYXJ5IChHTEVXKSBpcyBhIGNyb3NzLXBsYXRmb3JtIG9wZW4tc291cmNlIEMvQysrIGV4dGVuc2lvbiBsb2FkaW5nIGxpYnJhcnkuIgorSE9NRVBBR0UgPSAiaHR0cDovL2dsZXcuc291cmNlZm9yZ2UubmV0LyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyLz9ncm91cF9pZD02NzU4NiIKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9MmFjMjUxNTU4ZGU2ODVjNmI5NDc4ZDg5YmUzMTQ5YzIiCisKK0RFUEVORFMgPSAidmlydHVhbC9saWJ4MTEgdmlydHVhbC9saWJnbCBsaWJnbHUgbGlieGV4dCBsaWJ4aSBsaWJ4bXUiCisKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vcHJvamVjdC9nbGV3L2dsZXcvJHtQVn0vZ2xldy0ke1BWfS50Z3ogXAorICAgICAgICAgICBmaWxlOi8vYXV0b3Rvb2xzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2dsZXdfZml4X2Zvcl9hdXRvbWFrZS0xLjEyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1nbGV3LnBjLWluc3RhbGwucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gIjAxMjQ2YzdlY2QxMzVkOTliZTAzMWFhNjNmODZkY2ExIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFmNTgxMDNmNDgyNGI0NDNlN2ZhNGVkM2FmNTkzYjhlZGFjNmYzYTdiZTNiMzA5MTFlZGJjNzM0NGY0OGU0YmYiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGxpYl9wYWNrYWdlIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9oYXJmYnV6ei9oYXJmYnV6el8xLjAuMi5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9oYXJmYnV6ei9oYXJmYnV6el8xLjAuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzBiZDk4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2hhcmZidXp6L2hhcmZidXp6XzEuMC4yLmJiCkBAIC0wLDAgKzEsMzUgQEAKK1NVTU1BUlkgPSAiVGV4dCBzaGFwaW5nIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJIYXJmQnV6eiBpcyBhbiBPcGVuVHlwZSB0ZXh0IHNoYXBpbmcgZW5naW5lLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvSGFyZkJ1enoiCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PUhhcmZCdXp6IgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWUwMjFkZDZkZGE2ZmYxZTZiMTA0NDAwMmZjNjYyYjliIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9oYi11Y2RuL0NPUFlJTkc7bWQ1PTk5NGJhMGYxMjk1ZjE1YjRiZGE0OTk5YTViYmVkZGVmIFwKKyIKKworU0VDVElPTiA9ICJsaWJzIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlL2hhcmZidXp6L3JlbGVhc2UvJHtCUH0udGFyLmJ6MiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNzRmNjQ0MDQ1ZmU0MmMzOGEyNjQxZmMxZTgyYTgwMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiZWIzY2FmODY1NDAxMGZjZGNhNjFjODEwYTNhNzUzMjIzN2ZjNTY3ZWU0MjcxZGViNjc0YjVlZmJiZTNiNDY2IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgbGliX3BhY2thZ2UKKworREVQRU5EUyA9ICJnbGliLTIuMCBjYWlybyBmcmVldHlwZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtZ2xpYiAtLXdpdGgtZnJlZXR5cGUgLS13aXRoLWNhaXJvIC0td2l0aG91dC1ncmFwaGl0ZTIiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJpY3UiCitQQUNLQUdFQ09ORklHW2ljdV0gPSAiLS13aXRoLWljdSwtLXdpdGhvdXQtaWN1LGljdSIKKworUEFDS0FHRVMgPSsgIiR7UE59LWljdSAke1BOfS1pY3UtZGJnICR7UE59LWljdS1kZXYiCisKK0ZJTEVTXyR7UE59LWljdSA9ICIke2xpYmRpcn0vbGliaGFyZmJ1enotaWN1LnNvLioiCitGSUxFU18ke1BOfS1pY3UtZGJnID0gIiR7bGliZGlyfS8uZGVidWcvbGliaGFyZmJ1enotaWN1LnNvKiIKK0ZJTEVTXyR7UE59LWljdS1kZXYgPSAiJHtsaWJkaXJ9L2xpYmhhcmZidXp6LWljdS5sYSBcCisgICAgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS9saWJoYXJmYnV6ei1pY3Uuc28gXAorICAgICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vcGtnY29uZmlnL2hhcmZidXp6LWljdS5wYyBcCisiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvaW1hZ2VzL2NvcmUtaW1hZ2UtY2x1dHRlci5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9pbWFnZXMvY29yZS1pbWFnZS1jbHV0dGVyLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwZjI1Y2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvaW1hZ2VzL2NvcmUtaW1hZ2UtY2x1dHRlci5iYgpAQCAtMCwwICsxLDEzIEBACitERVNDUklQVElPTiA9ICJBbiBpbWFnZSB3aXRoIHN1cHBvcnQgZm9yIHRoZSBPcGVuIEdMLWJhc2VkIHRvb2xraXQgQ2x1dHRlciwgXAord2hpY2ggZW5hYmxlcyBkZXZlbG9wbWVudCBvZiByaWNoIGFuZCBhbmltYXRlZCBncmFwaGljYWwgdXNlciBpbnRlcmZhY2VzLiIKKworSU1BR0VfRkVBVFVSRVMgKz0gInNwbGFzaCBwYWNrYWdlLW1hbmFnZW1lbnQgeDExLWJhc2UgeDExLXNhdG8gc3NoLXNlcnZlci1kcm9wYmVhciIKKworTElDRU5TRSA9ICJNSVQiCisKK0lNQUdFX0lOU1RBTEwgPSAiXAorICAgICR7Q09SRV9JTUFHRV9CQVNFX0lOU1RBTEx9IFwKKyAgICBwYWNrYWdlZ3JvdXAtY29yZS1jbHV0dGVyLWNvcmUgXAorICAgICIKKworaW5oZXJpdCBjb3JlLWltYWdlCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvaW1hZ2VzL2NvcmUtaW1hZ2UtZGlyZWN0ZmIuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvaW1hZ2VzL2NvcmUtaW1hZ2UtZGlyZWN0ZmIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTY0MTE5NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9pbWFnZXMvY29yZS1pbWFnZS1kaXJlY3RmYi5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIkFuIGltYWdlIHRoYXQgdXNlcyBEaXJlY3RGQiBpbnN0ZWFkIG9mIFgxMSIKK0xJQ0VOU0UgPSAiTUlUIgorCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L0xJQ0VOU0U7bWQ1PTRkOTJjZDM3M2FiZGEzOTM3YzJiYzQ3ZmJjNDlkNjkwIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvQ09QWUlORy5NSVQ7bWQ1PTNkYTljZmJjYjc4OGM4MGEwMzg0MzYxYjRkZTIwNDIwIgorCitpbmhlcml0IGNvcmUtaW1hZ2UgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJkaXJlY3RmYiIKK0NPTkZMSUNUX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK0lNQUdFX0lOU1RBTEwgKz0gIlwKKwkke0NPUkVfSU1BR0VfQkFTRV9JTlNUQUxMfSBcCisJcGFja2FnZWdyb3VwLWNvcmUtZnVsbC1jbWRsaW5lIFwKKwlwYWNrYWdlZ3JvdXAtY29yZS1kaXJlY3RmYiBcCisiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvaW1hZ2VzL2NvcmUtaW1hZ2Utd2VzdG9uLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2ltYWdlcy9jb3JlLWltYWdlLXdlc3Rvbi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MmUyNzFkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2ltYWdlcy9jb3JlLWltYWdlLXdlc3Rvbi5iYgpAQCAtMCwwICsxLDExIEBACitTVU1NQVJZID0gIkEgdmVyeSBiYXNpYyBXYXlsYW5kIGltYWdlIHdpdGggYSB0ZXJtaW5hbCIKKworSU1BR0VfRkVBVFVSRVMgKz0gInNwbGFzaCBwYWNrYWdlLW1hbmFnZW1lbnQgc3NoLXNlcnZlci1kcm9wYmVhciBod2NvZGVjcyIKKworTElDRU5TRSA9ICJNSVQiCisKK2luaGVyaXQgY29yZS1pbWFnZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIndheWxhbmQiCisKK0NPUkVfSU1BR0VfQkFTRV9JTlNUQUxMICs9ICJ3ZXN0b24gd2VzdG9uLWluaXQgd2VzdG9uLWV4YW1wbGVzIGd0ayszLWRlbW8gY2x1dHRlci0xLjAtZXhhbXBsZXMiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvaW1hZ2VzL2NvcmUtaW1hZ2UteDExLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2ltYWdlcy9jb3JlLWltYWdlLXgxMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDU1YmI4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2ltYWdlcy9jb3JlLWltYWdlLXgxMS5iYgpAQCAtMCwwICsxLDkgQEAKK1NVTU1BUlkgPSAiQSB2ZXJ5IGJhc2ljIFgxMSBpbWFnZSB3aXRoIGEgdGVybWluYWwiCisKK0lNQUdFX0ZFQVRVUkVTICs9ICJzcGxhc2ggcGFja2FnZS1tYW5hZ2VtZW50IHgxMS1iYXNlIgorCitMSUNFTlNFID0gIk1JVCIKKworaW5oZXJpdCBjb3JlLWltYWdlIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYmVwb3h5L2xpYmVwb3h5LzAwMDEtc2VsZWN0LXBsYXRmb3Jtcy1iYXNlZC1vbi1jb25maWd1cmF0aW9uLXJlc3VsdHMucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGliZXBveHkvbGliZXBveHkvMDAwMS1zZWxlY3QtcGxhdGZvcm1zLWJhc2VkLW9uLWNvbmZpZ3VyYXRpb24tcmVzdWx0cy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzRjOGU4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYmVwb3h5L2xpYmVwb3h5LzAwMDEtc2VsZWN0LXBsYXRmb3Jtcy1iYXNlZC1vbi1jb25maWd1cmF0aW9uLXJlc3VsdHMucGF0Y2gKQEAgLTAsMCArMSwxMjggQEAKK0Zyb20gM2E5MzE1MGJjMGFlYzg2YWZkYjdkMDUzMjQ3ZGMyNDQ4OTI1ZTA5YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyZWFzPTIwTT1DMz1CQ2xsZXI/PSA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KK0RhdGU6IFdlZCwgNiBNYXkgMjAxNSAxMDo0NToyMiArMDIwMAorU3ViamVjdDogW1BBVENIIDEvMl0gc2VsZWN0IHBsYXRmb3JtcyBiYXNlZCBvbiBjb25maWd1cmF0aW9uIHJlc3VsdHMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgWzFdCisKK1sxXSBodHRwczovL2dpdGh1Yi5jb20vYW5ob2x0L2xpYmVwb3h5L3B1bGwvNTIKKworU2lnbmVkLW9mZi1ieTogQW5kcmVhcyBNw7xsbGVyIDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorLS0tCisgY29uZmlndXJlLmFjICAgICAgICAgIHwgMTMgKysrKystLS0tLS0tLQorIHNyYy9kaXNwYXRjaF9jb21tb24uYyB8ICA5ICsrKysrKy0tLQorIHNyYy9kaXNwYXRjaF9jb21tb24uaCB8ICA5ICsrKysrLS0tLQorIDMgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGE1MmZjNTguLmJkZDcwZGEgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTU4LDYgKzU4LDEwIEBAIEFDX0NIRUNLX0hFQURFUihbS0hSL2tocnBsYXRmb3JtLmhdLAorICMgdWludHB0cl90IHRvIGEgdm9pZCAqIikgYnkgZGVmYXVsdC4gIEtpbGwgdGhhdC4KKyBYT1JHX1RFU1RTRVRfQ0ZMQUcoQ1dBUk5GTEFHUywgWy1Xbm8taW50LWNvbnZlcnNpb25dKQorIAorK1BLR19DSEVDS19NT0RVTEVTKFgxMSwgW3gxMV0sIFt4MTE9eWVzXSwgW3gxMT1ub10pCisrCisrQU1fQ09ORElUSU9OQUwoSEFWRV9YMTEsIHRlc3QgeCR4MTEgPSB4eWVzKQorKworIGhhc196bm93PXllcworIAorIGNhc2UgJGhvc3Rfb3MgaW4KK0BAIC04Niw3ICs5MCw3IEBAIGNhc2UgJGhvc3Rfb3MgaW4KKyAgICAgICAgIDs7CisgICAgICopCisgICAgICAgICBidWlsZF9lZ2w9eWVzCistICAgICAgICBidWlsZF9nbHg9eWVzCisrICAgICAgICBidWlsZF9nbHg9JHgxMQorICAgICAgICAgYnVpbGRfd2dsPW5vCisgICAgICAgICAjIE9uIHBsYXRmb3JtcyB3aXRoIGRsb3Blbiwgd2UgbG9hZCBldmVyeXRoaW5nIGR5bmFtaWNhbGx5IGFuZAorICAgICAgICAgIyBkb24ndCBsaW5rIGFnYWluc3QgYSBzcGVjaWZpYyB3aW5kb3cgc3lzdGVtIG9yIEdMIGltcGxlbWVudGF0aW9uLgorQEAgLTE0NCwxMyArMTQ4LDYgQEAgZXNhYworIAorIEFDX1NVQlNUKFtWSVNJQklMSVRZX0NGTEFHU10pCisgCistUEtHX0NIRUNLX01PRFVMRVMoWDExLCBbeDExXSwgW3gxMT15ZXNdLCBbeDExPW5vXSkKKy1pZiB0ZXN0IHgkeDExID0geG5vIC1hIHgkYnVpbGRfZ2x4ID0geHllczsgdGhlbgorLSAgICBBQ19NU0dfRVJST1IoW2xpYlgxMSBoZWFkZXJzIChsaWJ4MTEtZGV2KSByZXF1aXJlZCB0byBidWlsZCB3aXRoIEdMWCBzdXBwb3J0XSkKKy1maQorLQorLUFNX0NPTkRJVElPTkFMKEhBVkVfWDExLCB0ZXN0IHgkeDExID0geHllcykKKy0KKyBQS0dfQ0hFQ0tfTU9EVUxFUyhHTCwgW2dsXSwgW2dsPXllc10sIFtnbD1ub10pCisgCisgQUNfQ09ORklHX0ZJTEVTKFsKK2RpZmYgLS1naXQgYS9zcmMvZGlzcGF0Y2hfY29tbW9uLmMgYi9zcmMvZGlzcGF0Y2hfY29tbW9uLmMKK2luZGV4IDRlMzRkNmUuLjJhYjg0ZWQgMTAwNjQ0CistLS0gYS9zcmMvZGlzcGF0Y2hfY29tbW9uLmMKKysrKyBiL3NyYy9kaXNwYXRjaF9jb21tb24uYworQEAgLTYxNSwxMCArNjE1LDEzIEBAIGVwb3h5X2dldF9wcm9jX2FkZHJlc3MoY29uc3QgY2hhciAqbmFtZSkKKyAjZWxpZiBkZWZpbmVkKF9fQVBQTEVfXykKKyAgICAgcmV0dXJuIGVwb3h5X2dsX2Rsc3ltKG5hbWUpOworICNlbHNlCisrI2lmIFBMQVRGT1JNX0hBU19HTFgKKyAgICAgaWYgKGVwb3h5X2N1cnJlbnRfY29udGV4dF9pc19nbHgoKSkgeworICAgICAgICAgcmV0dXJuIGdsWEdldFByb2NBZGRyZXNzQVJCKChjb25zdCBHTHVieXRlICopbmFtZSk7CistICAgIH0gZWxzZSB7CisrICAgIH0gZWxzZQorKyNlbmRpZiAvKiBQTEFURk9STV9IQVNfR0xYICovCisgI2lmIFBMQVRGT1JNX0hBU19FR0wKKysgICAgeworICAgICAgICAgR0xlbnVtIGVnbF9hcGkgPSBlcG94eV9lZ2xfZ2V0X2N1cnJlbnRfZ2xfY29udGV4dF9hcGkoKTsKKyAKKyAgICAgICAgIHN3aXRjaCAoZWdsX2FwaSkgeworQEAgLTYyOCwxMCArNjMxLDEwIEBAIGVwb3h5X2dldF9wcm9jX2FkZHJlc3MoY29uc3QgY2hhciAqbmFtZSkKKyAgICAgICAgIGNhc2UgRUdMX05PTkU6CisgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICB9CistI2VuZGlmCisgICAgIH0KKysjZW5kaWYgLyogUExBVEZPUk1fSEFTX0VHTCAqLworICAgICBlcnJ4KDEsICJDb3VsZG4ndCBmaW5kIGN1cnJlbnQgR0xYIG9yIEVHTCBjb250ZXh0LlxuIik7CistI2VuZGlmCisrI2VuZGlmIC8qIF9XSU4zMiB8IF9fQVBQTEVfXyovCisgfQorIAorIHZvaWQKK2RpZmYgLS1naXQgYS9zcmMvZGlzcGF0Y2hfY29tbW9uLmggYi9zcmMvZGlzcGF0Y2hfY29tbW9uLmgKK2luZGV4IDZiODUwM2EuLjgyNjgxZTQgMTAwNjQ0CistLS0gYS9zcmMvZGlzcGF0Y2hfY29tbW9uLmgKKysrKyBiL3NyYy9kaXNwYXRjaF9jb21tb24uaAorQEAgLTIxLDEyICsyMSwxMyBAQAorICAqIElOIFRIRSBTT0ZUV0FSRS4KKyAgKi8KKyAKKysjaW5jbHVkZSA8Y29uZmlnLmg+CisgI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKyAKKyAjaWZkZWYgX1dJTjMyCisgI2RlZmluZSBQTEFURk9STV9IQVNfRUdMIDAKKyAjZGVmaW5lIFBMQVRGT1JNX0hBU19HTFggMAorLSNkZWZpbmUgUExBVEZPUk1fSEFTX1dHTCAxCisrI2RlZmluZSBQTEFURk9STV9IQVNfV0dMIEJVSUxEX1dHTAorICNkZWZpbmUgRVBPWFlfSU1QT1JURVhQT1JUIF9fZGVjbHNwZWMoZGxsZXhwb3J0KQorICNlbGlmIGRlZmluZWQoX19BUFBMRV9fKQorICNkZWZpbmUgUExBVEZPUk1fSEFTX0VHTCAwCitAQCAtMzQsMTMgKzM1LDEzIEBACisgI2RlZmluZSBQTEFURk9STV9IQVNfV0dMIDAKKyAjZGVmaW5lIEVQT1hZX0lNUE9SVEVYUE9SVAorICNlbGlmIGRlZmluZWQoQU5EUk9JRCkKKy0jZGVmaW5lIFBMQVRGT1JNX0hBU19FR0wgMQorKyNkZWZpbmUgUExBVEZPUk1fSEFTX0VHTCBCVUlMRF9FR0wKKyAjZGVmaW5lIFBMQVRGT1JNX0hBU19HTFggMAorICNkZWZpbmUgUExBVEZPUk1fSEFTX1dHTCAwCisgI2RlZmluZSBFUE9YWV9JTVBPUlRFWFBPUlQKKyAjZWxzZQorLSNkZWZpbmUgUExBVEZPUk1fSEFTX0VHTCAxCistI2RlZmluZSBQTEFURk9STV9IQVNfR0xYIDEKKysjZGVmaW5lIFBMQVRGT1JNX0hBU19FR0wgQlVJTERfRUdMCisrI2RlZmluZSBQTEFURk9STV9IQVNfR0xYIEJVSUxEX0dMWAorICNkZWZpbmUgUExBVEZPUk1fSEFTX1dHTCAwCisgI2RlZmluZSBFUE9YWV9JTVBPUlRFWFBPUlQKKyAjZW5kaWYKKy0tIAorMS45LjMKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYmVwb3h5L2xpYmVwb3h5LzAwMDItYWRkLWFuLW9wdGlvbi10by1kaXNhYmxlLWdseC1zdXBwb3J0LnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYmVwb3h5L2xpYmVwb3h5LzAwMDItYWRkLWFuLW9wdGlvbi10by1kaXNhYmxlLWdseC1zdXBwb3J0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2MmQ2ODQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGliZXBveHkvbGliZXBveHkvMDAwMi1hZGQtYW4tb3B0aW9uLXRvLWRpc2FibGUtZ2x4LXN1cHBvcnQucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorRnJvbSAyNDg2OGNiZmI5ZGRhNWY2OTI5ZGQyNzdjNDdkMzVkZjAxNmU4NzU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogV2VkLCA2IE1heSAyMDE1IDExOjA1OjQ4ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSBhZGQgYW4gb3B0aW9uIHRvIGRpc2FibGUgZ2x4IHN1cHBvcnQKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKwordGhpcyBvcHRpb24gd291bGQgaGVscCB1cyBpbiB5b2N0byB0byBnZXQgZGV0ZXJtaW5pc3RpYyBidWlsZCByZXN1bHRzCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFsxXQorCitbMV0gaHR0cHM6Ly9naXRodWIuY29tL2FuaG9sdC9saWJlcG94eS9wdWxsLzUyCisKK1NpZ25lZC1vZmYtYnk6IEFuZHJlYXMgTcO8bGxlciA8c2Nobml0emVsdG9ueUBnb29nbGVtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDkgKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBiZGQ3MGRhLi42YzcxNTNkIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC01OCw3ICs1OCwxNCBAQCBBQ19DSEVDS19IRUFERVIoW0tIUi9raHJwbGF0Zm9ybS5oXSwKKyAjIHVpbnRwdHJfdCB0byBhIHZvaWQgKiIpIGJ5IGRlZmF1bHQuICBLaWxsIHRoYXQuCisgWE9SR19URVNUU0VUX0NGTEFHKENXQVJORkxBR1MsIFstV25vLWludC1jb252ZXJzaW9uXSkKKyAKKy1QS0dfQ0hFQ0tfTU9EVUxFUyhYMTEsIFt4MTFdLCBbeDExPXllc10sIFt4MTE9bm9dKQorK0FDX0FSR19FTkFCTEUoW2dseF0sCisrICAgICAgICAgICAgICAgIFtBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWdseF0sCisrCQkJCVtkaXNhYmxlIGlmIHlvdSBkb24ndCB3YW50IHgxMS9nbHggc3VwcG9ydF0pXSwKKysgICAgICAgICAgICAgICAgW10sCisrICAgICAgICAgICAgICAgIFtlbmFibGVfZ2x4PXllc10KKysgICAgICAgICAgICAgKQorKworK1BLR19DSEVDS19NT0RVTEVTKFgxMSwgW3gxMV0sIFt4MTE9JGVuYWJsZV9nbHhdLCBbeDExPW5vXSkKKyAKKyBBTV9DT05ESVRJT05BTChIQVZFX1gxMSwgdGVzdCB4JHgxMSA9IHh5ZXMpCisgCistLSAKKzEuOS4zCisKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJlcG94eS9saWJlcG94eS9uby1uZWVkLWZvci1weXRob24zLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYmVwb3h5L2xpYmVwb3h5L25vLW5lZWQtZm9yLXB5dGhvbjMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGI4ZmVhNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJlcG94eS9saWJlcG94eS9uby1uZWVkLWZvci1weXRob24zLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKK1RoZXJlIGlzIG5vIG5lZWQgdG8gdXNlIHB5dGhvbjMgYnkgdGhpcyBwYWNrYWdlICh0aGUgcHl0aG9uIHNjcmlwdHMKK3RoYXQgYXJlIHVzaW5nIGR1cmluZyBjb25maWd1cmF0aW9uIG9ubHkgbmVlZCBweXRob24yLjcrKQorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1NpZ25lZC1vZmYtYnk6IEdhcnkgVGhvbWFzIDxnYXJ5QG1sYmFzc29jLmNvbT4KKy0tCitJbmRleDogZ2l0L2NvbmZpZ3VyZS5hYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdpdC5vcmlnL2NvbmZpZ3VyZS5hYworKysrIGdpdC9jb25maWd1cmUuYWMKK0BAIC00MCw3ICs0MCw3IEBAIG00X2lmbmRlZihbWE9SR19NQUNST1NfVkVSU0lPTl0sCisgWE9SR19NQUNST1NfVkVSU0lPTigxLjgpCisgWE9SR19ERUZBVUxUX09QVElPTlMKKyAKKy1BQ19DSEVDS19QUk9HUyhbUFlUSE9OXSwgW3B5dGhvbjMgcHl0aG9uMiBweXRob25dKQorK0FDX0NIRUNLX1BST0dTKFtQWVRIT05dLCBbcHl0aG9uMiBweXRob25dKQorIAorICMgSW5pdGlhbGl6ZSBsaWJ0b29sCisgQUNfRElTQUJMRV9TVEFUSUMKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJlcG94eS9saWJlcG94eV9naXQuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGliZXBveHkvbGliZXBveHlfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkMTcyOTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGliZXBveHkvbGliZXBveHlfZ2l0LmJiCkBAIC0wLDAgKzEsMjUgQEAKK1NVTU1BUlkgPSAiT3BlbkdMIGZ1bmN0aW9uIHBvaW50ZXIgbWFuYWdlbWVudCBsaWJyYXJ5IgorSE9NRVBBR0UgPSAiaHR0cHM6Ly9naXRodWIuY29tL2FuaG9sdC9saWJlcG94eS8iCitTRUNUSU9OID0gImxpYnMiCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NThlZjRjODBkNDAxZTA3YmQ5ZWU4YjZiNThjZjQ2NGIiCisKKworU1JDX1VSSSA9ICIgXAorICAgIGdpdDovL2dpdGh1Yi5jb20vYW5ob2x0L2xpYmVwb3h5LmdpdCBcCisgICAgZmlsZTovLzAwMDEtc2VsZWN0LXBsYXRmb3Jtcy1iYXNlZC1vbi1jb25maWd1cmF0aW9uLXJlc3VsdHMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAyLWFkZC1hbi1vcHRpb24tdG8tZGlzYWJsZS1nbHgtc3VwcG9ydC5wYXRjaCBcCisgICAgZmlsZTovL25vLW5lZWQtZm9yLXB5dGhvbjMucGF0Y2ggXAorIgorU1JDUkVWPSJlMmMzM2FmNWJmY2ZjOWQxNjhmOWU3NzYxNTZkZDQ3YzMzZjQyOGIzIgorUFYgPSAiMS4zLjEiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitERVBFTkRTID0gInV0aWwtbWFjcm9zIHZpcnR1YWwvZWdsIgorCitQQUNLQUdFQ09ORklHW3gxMV0gPSAiLS1lbmFibGUtZ2x4LCAtLWRpc2FibGUtZ2x4LCB2aXJ0dWFsL2xpYngxMSIKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4MTEnLCAnJywgZCl9IgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYmZha2VrZXkvbGliZmFrZWtleV9naXQuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGliZmFrZWtleS9saWJmYWtla2V5X2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjBkZGVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYmZha2VrZXkvbGliZmFrZWtleV9naXQuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJMaWJyYXJ5IGZvciBjb252ZXJ0aW5nIGNoYXJhY3RlcnMgdG8gWCBrZXktcHJlc3NlcyIKK0RFU0NSSVBUSU9OID0gImxpYmZha2VrZXkgaXMgYSBzaW1wbGUgbGlicmFyeSBmb3IgY29udmVydGluZyBVVEYtOCBjaGFyYWN0ZXJzIGludG8gJ2Zha2UnIFggXAora2V5LXByZXNzZXMuIgorSE9NRVBBR0UgPSAiaHR0cDovL21hdGNoYm94LXByb2plY3Qub3JnLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3ppbGxhLnlvY3RvcHJvamVjdC5vcmcvIgorCitMSUNFTlNFID0gIkxHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zcmMvbGliZmFrZWtleS5jO2VuZGxpbmU9MzA7bWQ1PTYwMmI1Y2NkNDhmNjQ0MDc1MTA4NjdmMzM3M2I0NDhjIgorCitERVBFTkRTID0gImxpYnh0c3QiCitTRUNUSU9OID0gIngxMS93bSIKKworU1JDUkVWID0gImUzMjdmZjA0OWI4NTAzYWYyZGFkZmZhODQzNzBhMDg2MGI5ZmI2ODIiCitQViA9ICIwLjArZ2l0JHtTUkNQVn0iCisKK1NSQ19VUkkgPSAiZ2l0Oi8vZ2l0LnlvY3RvcHJvamVjdC5vcmcvJHtCUE59IgorCitTID0gIiR7V09SS0RJUn0vZ2l0IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZ2V0dGV4dCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworIyBUaGUgbGlieHRzdCByZXF1aXJlcyB4MTEgaW4gRElTVFJPX0ZFQVRVUkVTCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYm1hdGNoYm94L2xpYm1hdGNoYm94L2xpYnBuZy5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJtYXRjaGJveC9saWJtYXRjaGJveC9saWJwbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNkNTA3ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJtYXRjaGJveC9saWJtYXRjaGJveC9saWJwbmcucGF0Y2gKQEAgLTAsMCArMSw2OSBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KKworRnJvbSAxOWMzZDI0MjAzNDc0OGIzYzYwNzY1NjgzZTFmZjRlMmRmOTcwMjA1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9zcyBCdXJ0b24gPHJvc3MuYnVydG9uQGludGVsLmNvbT4KK0RhdGU6IFR1ZSwgMTAgRGVjIDIwMTMgMTE6Mzc6MzIgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlOiBpbXByb3ZlIGxpYnBuZyBkZXRlY3Rpb24KKworSW5zdGVhZCBvZiBsb29raW5nIGZvciAibGlicG5nMTIiIGV4cGxpY2l0bHkgdGhvdWdoIHBrZy1jb25maWcgYW5kIHRoZW4gZmFsbGluZworYmFjayB0byBsaWJyYXJ5IGh1bnRpbmcsIGp1c3QgdXNlIHBrZy1jb25maWcgdG8gZmluZCAibGlicG5nIiB3aGljaCBpcyBwcm92aWRlZAorYnkgYm90aCBsaWJwbmcxMiBhbmQgbGlicG5nMTYuCisKK1RoaXMgYWxzbyBtYWtlcyB0aGUgbGlicG5nIGRldGVjdGlvbiBkZXRlcm1pbmlzdGljLgorCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgMjkgKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggOGEyODA3Ni4uNjVkN2M3OSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMzQsNyArMzQsNyBAQCBBQ19BUkdfRU5BQkxFKGpwZWcsCisgICBlbmFibGVfanBlZz0kZW5hYmxldmFsLCBlbmFibGVfanBlZz1ubykKKyAKKyBBQ19BUkdfRU5BQkxFKHBuZywKKy0gIFsgIC0tZGlzYWJsZS1wbmcgICAgICAgICAgIGRpc2FibGUgcG5nIHN1cHBvcnQgW2RlZmF1bHQ9bm9dXSwKKysgIFsgIC0tZGlzYWJsZS1wbmcgICAgICAgICAgIGRpc2FibGUgUE5HIHN1cHBvcnQgW2RlZmF1bHQ9ZW5hYmxlZF1dLAorICAgICAgZW5hYmxlX3BuZz0kZW5hYmxldmFsLCBlbmFibGVfcG5nPXllcyApCisgCisgQUNfQVJHX0VOQUJMRShkb3h5Z2VuLWRvY3MsICAgICAKK0BAIC0xNTYsMjkgKzE1NiwxMCBAQCBmaQorIGRubCAtLS0tLS0gQ2hlY2sgZm9yIFBORyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAKKyBpZiB0ZXN0IHgkZW5hYmxlX3BuZyAhPSB4bm87IHRoZW4KKy0gIEFDX01TR19DSEVDS0lORyhmb3IgbGlicG5nMTIpCistICBpZiB0ZXN0IHgkUEtHX0NPTkZJRyAhPSB4bm8gJiYgJFBLR19DT05GSUcgLS1leGlzdHMgbGlicG5nMTI7IHRoZW4gCistICAgICAgICBBQ19NU0dfUkVTVUxUKHllcykKKy0gICAgICAgIFBOR19MSUJTPWAkUEtHX0NPTkZJRyAtLWxpYnMgbGlicG5nMTJgCistCVBOR19DRkxBR1M9YCRQS0dfQ09ORklHIC0tY2ZsYWdzIGxpYnBuZzEyYAorLSAgICAgICAgQUNfREVGSU5FKFVTRV9QTkcsIFsxXSwgW1VzZSBQbmddKQorLQlTVVBQT1JUU19QTkc9MQorLQlQTkdfUkVRVUlSRUQ9ImxpYnBuZzEyIgorLSAgZWxzZQorLQlBQ19NU0dfUkVTVUxUKG5vKQorLSAgICAgICAgIyBBQ19DSEVDS19IRUFERVJTKHBuZy5oLCBbIGhhdmVfcG5nX2g9InllcyIgXSwgWyBoYXZlX3BuZ19oPSJubyIgXSApCistICAgICAgICBBQ19DSEVDS19MSUIoW3BuZ10sIFtwbmdfY3JlYXRlX3JlYWRfc3RydWN0XSwgW2hhdmVfcG5nPSJ5ZXMiXSwgW2hhdmVfcG5nPSJubyJdKQorLQorLSAgICAgICAgaWYgdGVzdCB4JGhhdmVfcG5nPXh5ZXMgJiYgdGVzdCB4JGhhdmVfcG5nX2g9eHllczsgdGhlbiAKKy0gICAgICAgICAgICBBQ19ERUZJTkUoVVNFX1BORywgWzFdLCBbVXNlIFBuZ10pCistCSAgICBTVVBQT1JUU19QTkc9MQorLSAgICAgICAgICAgIFBOR19MSUJTPSItbHBuZyAtbHoiCistICAgICAgICAgICAgTUJfRVhUUkFfTElCUz0iJE1CX0VYVFJBX0xJQlMgJFBOR19MSUJTIgorLSAgICAgICAgZWxzZQorLQkgICAgQUNfTVNHX1dBUk4oWyoqKiBDYW5ub3QgZmluZCBQTkcsIGRpc2FibGluZyBzdXBwb3J0XSkKKy0gICAgICAgICAgICBlbmFibGVfcG5nPW5vCistCWZpCistICBmaQorKyAgUEtHX0NIRUNLX01PRFVMRVMoUE5HLCBsaWJwbmcpCisrICBBQ19ERUZJTkUoVVNFX1BORywgWzFdLCBbVXNlIFBOR10pCisrICBTVVBQT1JUU19QTkc9MQorKyAgUE5HX1JFUVVJUkVEPSJsaWJwbmciCisgZmkKKyAKKyAKKy0tIAorMS44LjUKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYm1hdGNoYm94L2xpYm1hdGNoYm94XzEuMTEuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlibWF0Y2hib3gvbGlibWF0Y2hib3hfMS4xMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMmViNjc1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYm1hdGNoYm94L2xpYm1hdGNoYm94XzEuMTEuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJNYXRjaGJveCB3aW5kb3cgbWFuYWdlciBjb3JlIGxpYnJhcnkiCitTRUNUSU9OID0gIngxMS9saWJzIgorSE9NRVBBR0UgPSAiaHR0cDovL21hdGNoYm94LXByb2plY3Qub3JnLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3ppbGxhLnlvY3RvcHJvamVjdC5jb20vIgorCitMSUNFTlNFID0gIkxHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03ZmJjMzM4MzA5YWMzOGZlZmNkNjRiMDRiYjkwM2UzNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJtYi9tYmV4cC5jO2VuZGxpbmU9MjA7bWQ1PTI4YzBhZWYzYjIzZTMwODQ2NGY1ZGFlNmExMWIwZDJmIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYm1iL21iZG90ZGVza3RvcC5jO2VuZGxpbmU9MjE7bWQ1PTVhMjg3MTU2YjMyMDdlODUxYzFkNjhkMDljNDM5YjUxIgorCitERVBFTkRTID0gInZpcnR1YWwvbGlieDExIGxpYnhleHQiCisKK1NSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2Fkcy55b2N0b3Byb2plY3Qub3JnL3JlbGVhc2VzL21hdGNoYm94LyR7QlBOfS8ke1BWfS8ke0JQTn0tJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9saWJwbmcucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmYzZjYzgwN2Y1NWEzZTdjNzUyZDgwMTMxNzY4NzVkNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNTRjYWI1MmUzMDRhMzUxMmM4ZGY0YmU1OWQ2OTBjZjM5MjFiYmI2OGEyOGVkZTdmZTI2YjkzNTM0MjE3YjUzIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJqcGVnIHBuZyB4ZnQgeHNldHRpbmdzIgorUEFDS0FHRUNPTkZJR1tqcGVnXSA9ICItLWVuYWJsZS1qcGVnLC0tZGlzYWJsZS1qcGVnLGpwZWciCitQQUNLQUdFQ09ORklHW3BhbmdvXSA9ICItLWVuYWJsZS1wYW5nbywtLWRpc2FibGUtcGFuZ28scGFuZ28iCitQQUNLQUdFQ09ORklHW3BuZ10gPSAiLS1lbmFibGUtcG5nLC0tZGlzYWJsZS1wbmcsbGlicG5nIgorUEFDS0FHRUNPTkZJR1t4ZnRdID0gIi0tZW5hYmxlLXhmdCwtLWRpc2FibGUteGZ0LGxpYnhmdCIKK1BBQ0tBR0VDT05GSUdbeHNldHRpbmdzXSA9ICItLWVuYWJsZS14c2V0dGluZ3MsLS1kaXNhYmxlLXhzZXR0aW5ncyxsaWJ4c2V0dGluZ3MtY2xpZW50IgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNkbC9saWJzZGwtMS4yLjE1L2NvbmZpZ3VyZV90d2Vhay5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJzZGwvbGlic2RsLTEuMi4xNS9jb25maWd1cmVfdHdlYWsucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Y5NzYzOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJzZGwvbGlic2RsLTEuMi4xNS9jb25maWd1cmVfdHdlYWsucGF0Y2gKQEAgLTAsMCArMSwxMTExIEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0luZGV4OiBTREwtMS4yLjE1L2NvbmZpZ3VyZS5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIFNETC0xLjIuMTUub3JpZy9jb25maWd1cmUuaW4KKysrKyBTREwtMS4yLjE1L2NvbmZpZ3VyZS5pbgorQEAgLTQ4LDkgKzQ4LDkgQEAgQUNfQ09ORklHX0FVWF9ESVIoW2J1aWxkLXNjcmlwdHNdKQorIGRubCBBQ19DQU5PTklDQUxfSE9TVAorIEFDX0NfQklHRU5ESUFOCisgaWYgdGVzdCB4JGFjX2N2X2NfYmlnZW5kaWFuID0geHllczsgdGhlbgorLSAgICBBQ19ERUZJTkUoU0RMX0JZVEVPUkRFUiwgNDMyMSkKKysgICAgQUNfREVGSU5FKFNETF9CWVRFT1JERVIsIDQzMjEsICJCeXRlIE9yZGVyIikKKyBlbHNlCistICAgIEFDX0RFRklORShTRExfQllURU9SREVSLCAxMjM0KQorKyAgICBBQ19ERUZJTkUoU0RMX0JZVEVPUkRFUiwgMTIzNCwgIkJ5dGUgT3JkZXIiKQorIGZpCisgCisgZG5sIENoZWNrIGZvciB0b29scworQEAgLTEzNCw3ICsxMzQsNyBAQCBBQ19BUkdfRU5BQkxFKGxpYmMsCisgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWxpYmNdLCBbVXNlIHRoZSBzeXN0ZW0gQyBsaWJyYXJ5IFtbZGVmYXVsdD15ZXNdXV0pLAorICAgICAgICAgICAgICAgLCBlbmFibGVfbGliYz15ZXMpCisgaWYgdGVzdCB4JGVuYWJsZV9saWJjID0geHllczsgdGhlbgorLSAgICBBQ19ERUZJTkUoSEFWRV9MSUJDKQorKyAgICBBQ19ERUZJTkUoSEFWRV9MSUJDLDEsIiIpCisgCisgICAgIGRubCBDaGVjayBmb3IgQyBsaWJyYXJ5IGhlYWRlcnMKKyAgICAgQUNfSEVBREVSX1NUREMKK0BAIC0xNDUsNyArMTQ1LDcgQEAgaWYgdGVzdCB4JGVuYWJsZV9saWJjID0geHllczsgdGhlbgorICAgICBpZiB0ZXN0IHgkYWNfY3ZfaGVhZGVyX2ludHR5cGVzX2ggPSB4eWVzIC1vIHgkYWNfY3ZfaGVhZGVyX3N0ZGludF9oID0geHllczsgdGhlbgorICAgICAgICAgQUNfQ0hFQ0tfVFlQRShpbnQ2NF90KQorICAgICAgICAgaWYgdGVzdCB4JGFjX2N2X3R5cGVfaW50NjRfdCA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0hBU182NEJJVF9UWVBFKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfSEFTXzY0QklUX1RZUEUsMSwiIikKKyAgICAgICAgIGZpCisgICAgICAgICBoYXZlX2ludHR5cGVzPXllcworICAgICBmaQorQEAgLTE2MSwxMSArMTYxLDExIEBAIGlmIHRlc3QgeCRlbmFibGVfbGliYyA9IHh5ZXM7IHRoZW4KKyAKKyAgICAgQUNfRlVOQ19NRU1DTVAKKyAgICAgaWYgdGVzdCB4JGFjX2N2X2Z1bmNfbWVtY21wX3dvcmtpbmcgPSB4eWVzOyB0aGVuCistICAgICAgICBBQ19ERUZJTkUoSEFWRV9NRU1DTVApCisrICAgICAgICBBQ19ERUZJTkUoSEFWRV9NRU1DTVAsMSwiIikKKyAgICAgZmkKKyAgICAgQUNfRlVOQ19TVFJUT0QKKyAgICAgaWYgdGVzdCB4JGFjX2N2X2Z1bmNfc3RydG9kID0geHllczsgdGhlbgorLSAgICAgICAgQUNfREVGSU5FKEhBVkVfU1RSVE9EKQorKyAgICAgICAgQUNfREVGSU5FKEhBVkVfU1RSVE9ELDEsIiIpCisgICAgIGZpCisgICAgIEFDX0NIRUNLX0ZVTkMobXByb3RlY3QsCisgICAgICAgICBBQ19UUllfQ09NUElMRShbCitAQCAtMTkxLDQwICsxOTEsNDAgQEAgaWYgdGVzdCB4JGhhdmVfaW50dHlwZXMgIT0geHllczsgdGhlbgorICAgICBBQ19DSEVDS19TSVpFT0YobG9uZywgNCkKKyAgICAgQUNfQ0hFQ0tfU0laRU9GKGxvbmcgbG9uZywgOCkKKyAgICAgaWYgdGVzdCB4JGFjX2N2X3NpemVvZl9jaGFyID0geDE7IHRoZW4KKy0gICAgICAgIEFDX0RFRklORShpbnQ4X3QsIHNpZ25lZCBjaGFyKQorLSAgICAgICAgQUNfREVGSU5FKHVpbnQ4X3QsIHVuc2lnbmVkIGNoYXIpCisrICAgICAgICBBQ19ERUZJTkUoaW50OF90LCBzaWduZWQgY2hhciwiIikKKysgICAgICAgIEFDX0RFRklORSh1aW50OF90LCB1bnNpZ25lZCBjaGFyLCIiKQorICAgICBmaQorICAgICBpZiB0ZXN0IHgkYWNfY3Zfc2l6ZW9mX3Nob3J0ID0geDI7IHRoZW4KKy0gICAgICAgIEFDX0RFRklORShpbnQxNl90LCBzaWduZWQgc2hvcnQpCistICAgICAgICBBQ19ERUZJTkUodWludDE2X3QsIHVuc2lnbmVkIHNob3J0KQorKyAgICAgICAgQUNfREVGSU5FKGludDE2X3QsIHNpZ25lZCBzaG9ydCwiIikKKysgICAgICAgIEFDX0RFRklORSh1aW50MTZfdCwgdW5zaWduZWQgc2hvcnQsIiIpCisgICAgIGVsc2UKKyAgICAgICAgIGlmIHRlc3QgeCRhY19jdl9zaXplb2ZfaW50ID0geDI7IHRoZW4KKy0gICAgICAgICAgICBBQ19ERUZJTkUoaW50MTZfdCwgc2lnbmVkIGludCkKKy0gICAgICAgICAgICBBQ19ERUZJTkUodWludDE2X3QsIHVuc2lnbmVkIGludCkKKysgICAgICAgICAgICBBQ19ERUZJTkUoaW50MTZfdCwgc2lnbmVkIGludCwiIikKKysgICAgICAgICAgICBBQ19ERUZJTkUodWludDE2X3QsIHVuc2lnbmVkIGludCwiIikKKyAgICAgICAgIGZpCisgICAgIGZpCisgICAgIGlmIHRlc3QgeCRhY19jdl9zaXplb2ZfaW50ID0geDQ7IHRoZW4KKy0gICAgICAgIEFDX0RFRklORShpbnQzMl90LCBzaWduZWQgaW50KQorLSAgICAgICAgQUNfREVGSU5FKHVpbnQzMl90LCB1bnNpZ25lZCBpbnQpCisrICAgICAgICBBQ19ERUZJTkUoaW50MzJfdCwgc2lnbmVkIGludCwiIikKKysgICAgICAgIEFDX0RFRklORSh1aW50MzJfdCwgdW5zaWduZWQgaW50LCIiKQorICAgICBlbHNlCisgICAgICAgICBpZiB0ZXN0IHgkYWNfY3Zfc2l6ZW9mX2xvbmcgPSB4NDsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShpbnQzMl90LCBzaWduZWQgbG9uZykKKy0gICAgICAgICAgICBBQ19ERUZJTkUodWludDMyX3QsIHVuc2lnbmVkIGxvbmcpCisrICAgICAgICAgICAgQUNfREVGSU5FKGludDMyX3QsIHNpZ25lZCBsb25nLCIiKQorKyAgICAgICAgICAgIEFDX0RFRklORSh1aW50MzJfdCwgdW5zaWduZWQgbG9uZywiIikKKyAgICAgICAgIGZpCisgICAgIGZpCisgICAgIGlmIHRlc3QgeCRhY19jdl9zaXplb2ZfbG9uZyA9IHg4OyB0aGVuCistICAgICAgICBBQ19ERUZJTkUoaW50NjRfdCwgc2lnbmVkIGxvbmcpCistICAgICAgICBBQ19ERUZJTkUodWludDY0X3QsIHVuc2lnbmVkIGxvbmcpCistICAgICAgICBBQ19ERUZJTkUoU0RMX0hBU182NEJJVF9UWVBFKQorKyAgICAgICAgQUNfREVGSU5FKGludDY0X3QsIHNpZ25lZCBsb25nLCIiKQorKyAgICAgICAgQUNfREVGSU5FKHVpbnQ2NF90LCB1bnNpZ25lZCBsb25nLCIiKQorKyAgICAgICAgQUNfREVGSU5FKFNETF9IQVNfNjRCSVRfVFlQRSwiIikKKyAgICAgZWxzZQorICAgICAgICAgaWYgdGVzdCB4JGFjX2N2X3NpemVvZl9sb25nX2xvbmcgPSB4ODsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShpbnQ2NF90LCBzaWduZWQgbG9uZyBsb25nKQorLSAgICAgICAgICAgIEFDX0RFRklORSh1aW50NjRfdCwgdW5zaWduZWQgbG9uZyBsb25nKQorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfSEFTXzY0QklUX1RZUEUpCisrICAgICAgICAgICAgQUNfREVGSU5FKGludDY0X3QsIHNpZ25lZCBsb25nIGxvbmcsIiIpCisrICAgICAgICAgICAgQUNfREVGSU5FKHVpbnQ2NF90LCB1bnNpZ25lZCBsb25nIGxvbmcsIiIpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9IQVNfNjRCSVRfVFlQRSwiIikKKyAgICAgICAgIGZpCisgICAgIGZpCistICAgIEFDX0RFRklORShzaXplX3QsIHVuc2lnbmVkIGludCkKKy0gICAgQUNfREVGSU5FKHVpbnRwdHJfdCwgdW5zaWduZWQgbG9uZykKKysgICAgQUNfREVGSU5FKHNpemVfdCwgdW5zaWduZWQgaW50LCIiKQorKyAgICBBQ19ERUZJTkUodWludHB0cl90LCB1bnNpZ25lZCBsb25nLCIiKQorIGZpCisgCisgIyBTdGFuZGFyZCBDIHNvdXJjZXMKK0BAIC0yNDUsMjUgKzI0NSwyNSBAQCBBQ19BUkdfRU5BQkxFKGF1ZGlvLAorIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1hdWRpb10sIFtFbmFibGUgdGhlIGF1ZGlvIHN1YnN5c3RlbSBbW2RlZmF1bHQ9eWVzXV1dKSwKKyAgICAgICAgICAgICAgICwgZW5hYmxlX2F1ZGlvPXllcykKKyBpZiB0ZXN0IHgkZW5hYmxlX2F1ZGlvICE9IHh5ZXM7IHRoZW4KKy0gICAgQUNfREVGSU5FKFNETF9BVURJT19ESVNBQkxFRCkKKysgICAgQUNfREVGSU5FKFNETF9BVURJT19ESVNBQkxFRCwxLCIiKQorIGZpCisgQUNfQVJHX0VOQUJMRSh2aWRlbywKKyBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtdmlkZW9dLCBbRW5hYmxlIHRoZSB2aWRlbyBzdWJzeXN0ZW0gW1tkZWZhdWx0PXllc11dXSksCisgICAgICAgICAgICAgICAsIGVuYWJsZV92aWRlbz15ZXMpCisgaWYgdGVzdCB4JGVuYWJsZV92aWRlbyAhPSB4eWVzOyB0aGVuCistICAgIEFDX0RFRklORShTRExfVklERU9fRElTQUJMRUQpCisrICAgIEFDX0RFRklORShTRExfVklERU9fRElTQUJMRUQsMSwiIikKKyBmaQorIEFDX0FSR19FTkFCTEUoZXZlbnRzLAorIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1ldmVudHNdLCBbRW5hYmxlIHRoZSBldmVudHMgc3Vic3lzdGVtIFtbZGVmYXVsdD15ZXNdXV0pLAorICAgICAgICAgICAgICAgLCBlbmFibGVfZXZlbnRzPXllcykKKyBpZiB0ZXN0IHgkZW5hYmxlX2V2ZW50cyAhPSB4eWVzOyB0aGVuCistICAgIEFDX0RFRklORShTRExfRVZFTlRTX0RJU0FCTEVEKQorKyAgICBBQ19ERUZJTkUoU0RMX0VWRU5UU19ESVNBQkxFRCwxLCIiKQorIGZpCisgQUNfQVJHX0VOQUJMRShqb3lzdGljaywKKyBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtam95c3RpY2tdLCBbRW5hYmxlIHRoZSBqb3lzdGljayBzdWJzeXN0ZW0gW1tkZWZhdWx0PXllc11dXSksCisgICAgICAgICAgICAgICAsIGVuYWJsZV9qb3lzdGljaz15ZXMpCisgaWYgdGVzdCB4JGVuYWJsZV9qb3lzdGljayAhPSB4eWVzOyB0aGVuCistICAgIEFDX0RFRklORShTRExfSk9ZU1RJQ0tfRElTQUJMRUQpCisrICAgIEFDX0RFRklORShTRExfSk9ZU1RJQ0tfRElTQUJMRUQsMSwiIikKKyBlbHNlCisgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2pveXN0aWNrLyouYyIKKyBmaQorQEAgLTI3MSw0MyArMjcxLDQzIEBAIEFDX0FSR19FTkFCTEUoY2Ryb20sCisgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWNkcm9tXSwgW0VuYWJsZSB0aGUgY2Ryb20gc3Vic3lzdGVtIFtbZGVmYXVsdD15ZXNdXV0pLAorICAgICAgICAgICAgICAgLCBlbmFibGVfY2Ryb209eWVzKQorIGlmIHRlc3QgeCRlbmFibGVfY2Ryb20gIT0geHllczsgdGhlbgorLSAgICBBQ19ERUZJTkUoU0RMX0NEUk9NX0RJU0FCTEVEKQorKyAgICBBQ19ERUZJTkUoU0RMX0NEUk9NX0RJU0FCTEVELDEsIiIpCisgZmkKKyBBQ19BUkdfRU5BQkxFKHRocmVhZHMsCisgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXRocmVhZHNdLCBbRW5hYmxlIHRoZSB0aHJlYWRpbmcgc3Vic3lzdGVtIFtbZGVmYXVsdD15ZXNdXV0pLAorICAgICAgICAgICAgICAgLCBlbmFibGVfdGhyZWFkcz15ZXMpCisgaWYgdGVzdCB4JGVuYWJsZV90aHJlYWRzICE9IHh5ZXM7IHRoZW4KKy0gICAgQUNfREVGSU5FKFNETF9USFJFQURTX0RJU0FCTEVEKQorKyAgICBBQ19ERUZJTkUoU0RMX1RIUkVBRFNfRElTQUJMRUQsMSwiIikKKyBmaQorIEFDX0FSR19FTkFCTEUodGltZXJzLAorIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS10aW1lcnNdLCBbRW5hYmxlIHRoZSB0aW1lciBzdWJzeXN0ZW0gW1tkZWZhdWx0PXllc11dXSksCisgICAgICAgICAgICAgICAsIGVuYWJsZV90aW1lcnM9eWVzKQorIGlmIHRlc3QgeCRlbmFibGVfdGltZXJzICE9IHh5ZXM7IHRoZW4KKy0gICAgQUNfREVGSU5FKFNETF9USU1FUlNfRElTQUJMRUQpCisrICAgIEFDX0RFRklORShTRExfVElNRVJTX0RJU0FCTEVELDEsIiIpCisgZmkKKyBBQ19BUkdfRU5BQkxFKGZpbGUsCisgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWZpbGVdLCBbRW5hYmxlIHRoZSBmaWxlIHN1YnN5c3RlbSBbW2RlZmF1bHQ9eWVzXV1dKSwKKyAgICAgICAgICAgICAgICwgZW5hYmxlX2ZpbGU9eWVzKQorIGlmIHRlc3QgeCRlbmFibGVfZmlsZSAhPSB4eWVzOyB0aGVuCistICAgIEFDX0RFRklORShTRExfRklMRV9ESVNBQkxFRCkKKysgICAgQUNfREVGSU5FKFNETF9GSUxFX0RJU0FCTEVELDEsIiIpCisgZmkKKyBBQ19BUkdfRU5BQkxFKGxvYWRzbywKKyBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtbG9hZHNvXSwgW0VuYWJsZSB0aGUgc2hhcmVkIG9iamVjdCBsb2FkaW5nIHN1YnN5c3RlbSBbW2RlZmF1bHQ9eWVzXV1dKSwKKyAgICAgICAgICAgICAgICwgZW5hYmxlX2xvYWRzbz15ZXMpCisgaWYgdGVzdCB4JGVuYWJsZV9sb2Fkc28gIT0geHllczsgdGhlbgorLSAgICBBQ19ERUZJTkUoU0RMX0xPQURTT19ESVNBQkxFRCkKKysgICAgQUNfREVGSU5FKFNETF9MT0FEU09fRElTQUJMRUQsMSwiIikKKyBmaQorIEFDX0FSR19FTkFCTEUoY3B1aW5mbywKKyBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtY3B1aW5mb10sIFtFbmFibGUgdGhlIGNwdWluZm8gc3Vic3lzdGVtIFtbZGVmYXVsdD15ZXNdXV0pLAorICAgICAgICAgICAgICAgLCBlbmFibGVfY3B1aW5mbz15ZXMpCisgaWYgdGVzdCB4JGVuYWJsZV9jcHVpbmZvICE9IHh5ZXM7IHRoZW4KKy0gICAgQUNfREVGSU5FKFNETF9DUFVJTkZPX0RJU0FCTEVEKQorKyAgICBBQ19ERUZJTkUoU0RMX0NQVUlORk9fRElTQUJMRUQsMSwiIikKKyBmaQorIEFDX0FSR19FTkFCTEUoYXNzZW1ibHksCisgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWFzc2VtYmx5XSwgW0VuYWJsZSBhc3NlbWJseSByb3V0aW5lcyBbW2RlZmF1bHQ9eWVzXV1dKSwKKyAgICAgICAgICAgICAgICwgZW5hYmxlX2Fzc2VtYmx5PXllcykKKyBpZiB0ZXN0IHgkZW5hYmxlX2Fzc2VtYmx5ID0geHllczsgdGhlbgorLSAgICBBQ19ERUZJTkUoU0RMX0FTU0VNQkxZX1JPVVRJTkVTKQorKyAgICBBQ19ERUZJTkUoU0RMX0FTU0VNQkxZX1JPVVRJTkVTLDEsIiIpCisgZmkKKyAKKyBkbmwgU2VlIGlmIHRoZSBPU1MgYXVkaW8gaW50ZXJmYWNlIGlzIHN1cHBvcnRlZAorQEAgLTMzNSwxMiArMzM1LDEyIEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1vc3NdLCBbc3VwcG9ydAorICAgICAgICAgICAgICAgaW50IGFyZyA9IFNORENUTF9EU1BfU0VURlJBR01FTlQ7CisgICAgICAgICAgICAgXSxbCisgICAgICAgICAgICAgaGF2ZV9vc3M9eWVzCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9BVURJT19EUklWRVJfT1NTX1NPVU5EQ0FSRF9IKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfQVVESU9fRFJJVkVSX09TU19TT1VORENBUkRfSCwxLCIiKQorICAgICAgICAgICAgIF0pCisgICAgICAgICBmaQorICAgICAgICAgQUNfTVNHX1JFU1VMVCgkaGF2ZV9vc3MpCisgICAgICAgICBpZiB0ZXN0IHgkaGF2ZV9vc3MgPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9BVURJT19EUklWRVJfT1NTKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfQVVESU9fRFJJVkVSX09TUywxLCIiKQorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2F1ZGlvL2RzcC8qLmMiCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvYXVkaW8vZG1hLyouYyIKKyAgICAgICAgICAgICBoYXZlX2F1ZGlvPXllcworQEAgLTQwNyw3ICs0MDcsNyBAQCBDaGVja0RNRURJQSgpCisgICAgICAgICBBQ19NU0dfUkVTVUxUKCRoYXZlX2RtZWRpYSkKKyAgICAgICAgICMgU2V0IHVwIGZpbGVzIGZvciB0aGUgYXVkaW8gbGlicmFyeQorICAgICAgICAgaWYgdGVzdCB4JGhhdmVfZG1lZGlhID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfQVVESU9fRFJJVkVSX0RNRURJQSkKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0FVRElPX0RSSVZFUl9ETUVESUEsMSwiIikKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy9hdWRpby9kbWVkaWEvKi5jIgorICAgICAgICAgICAgIEVYVFJBX0xERkxBR1M9IiRFWFRSQV9MREZMQUdTIC1sYXVkaW8iCisgICAgICAgICAgICAgaGF2ZV9hdWRpbz15ZXMKK0BAIC00NDQsNyArNDQ0LDcgQEAgQ2hlY2tNTUUoKQorICAgICAgICAgQUNfTVNHX1JFU1VMVCgkaGF2ZV9tbWUpCisgICAgICAgICAjIFNldCB1cCBmaWxlcyBmb3IgdGhlIGF1ZGlvIGxpYnJhcnkKKyAgICAgICAgIGlmIHRlc3QgeCRoYXZlX21tZSA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0FVRElPX0RSSVZFUl9NTUVBVURJTykKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0FVRElPX0RSSVZFUl9NTUVBVURJTywxLCIiKQorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2F1ZGlvL21tZS8qLmMiCisgICAgICAgICAgICAgRVhUUkFfQ0ZMQUdTPSIkRVhUUkFfQ0ZMQUdTICRNTUVfQ0ZMQUdTIgorICAgICAgICAgICAgIEVYVFJBX0xERkxBR1M9IiRFWFRSQV9MREZMQUdTICRNTUVfTElCUyIKK0BAIC00NjcsNyArNDY3LDcgQEAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWVzZC1zaGFyZWRdLCBbZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBlbmFibGVfZXNkX3NoYXJlZD15ZXMpCisgICAgICAgICAgICAgZXNkX2xpYj1bYGZpbmRfbGliICJsaWJlc2Quc28uKiIgIiRFU0RfTElCUyIgfCBzZWQgJ3MvLipcL1woLipcKS9cMS87IHEnYF0KKyAKKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0FVRElPX0RSSVZFUl9FU0QpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9BVURJT19EUklWRVJfRVNELDEsIiIpCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvYXVkaW8vZXNkLyouYyIKKyAgICAgICAgICAgICBFWFRSQV9DRkxBR1M9IiRFWFRSQV9DRkxBR1MgJEVTRF9DRkxBR1MiCisgICAgICAgICAgICAgaWYgdGVzdCB4JGhhdmVfbG9hZHNvICE9IHh5ZXMgJiYgXAorQEAgLTQ3Nyw3ICs0NzcsNyBAQCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZXNkLXNoYXJlZF0sIFtkCisgICAgICAgICAgICAgaWYgdGVzdCB4JGhhdmVfbG9hZHNvID0geHllcyAmJiBcCisgICAgICAgICAgICAgICAgdGVzdCB4JGVuYWJsZV9lc2Rfc2hhcmVkID0geHllcyAmJiB0ZXN0IHgkZXNkX2xpYiAhPSB4OyB0aGVuCisgICAgICAgICAgICAgICAgIGVjaG8gIi0tIGR5bmFtaWMgbGliZXNkIC0+ICRlc2RfbGliIgorLSAgICAgICAgICAgICAgICBBQ19ERUZJTkVfVU5RVU9URUQoU0RMX0FVRElPX0RSSVZFUl9FU0RfRFlOQU1JQywgIiRlc2RfbGliIikKKysgICAgICAgICAgICAgICAgQUNfREVGSU5FX1VOUVVPVEVEKFNETF9BVURJT19EUklWRVJfRVNEX0RZTkFNSUMsICIkZXNkX2xpYiIsICIiKQorICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgRVhUUkFfTERGTEFHUz0iJEVYVFJBX0xERkxBR1MgJEVTRF9MSUJTIgorICAgICAgICAgICAgIGZpCitAQCAtNTY0LDcgKzU2NCw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1hcnRzLXNoYXJlZF0sIFsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIGVuYWJsZV9hcnRzX3NoYXJlZD15ZXMpCisgICAgICAgICAgICAgICAgIGFydHNfbGliPVtgZmluZF9saWIgImxpYmFydHNjLnNvLioiICIkQVJUU19MSUJTIiB8IHNlZCAncy8uKlwvXCguKlwpL1wxLzsgcSdgXQorIAorLSAgICAgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0FVRElPX0RSSVZFUl9BUlRTKQorKyAgICAgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0FVRElPX0RSSVZFUl9BUlRTLCwgIiIpCisgICAgICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2F1ZGlvL2FydHMvKi5jIgorICAgICAgICAgICAgICAgICBFWFRSQV9DRkxBR1M9IiRFWFRSQV9DRkxBR1MgJEFSVFNfQ0ZMQUdTIgorICAgICAgICAgICAgICAgICBpZiB0ZXN0IHgkaGF2ZV9sb2Fkc28gIT0geHllcyAmJiBcCitAQCAtNTc0LDcgKzU3NCw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1hcnRzLXNoYXJlZF0sIFsKKyAgICAgICAgICAgICAgICAgaWYgdGVzdCB4JGhhdmVfbG9hZHNvID0geHllcyAmJiBcCisgICAgICAgICAgICAgICAgICAgIHRlc3QgeCRlbmFibGVfYXJ0c19zaGFyZWQgPSB4eWVzICYmIHRlc3QgeCRhcnRzX2xpYiAhPSB4OyB0aGVuCisgICAgICAgICAgICAgICAgICAgICBlY2hvICItLSBkeW5hbWljIGxpYmFydHNjIC0+ICRhcnRzX2xpYiIKKy0gICAgICAgICAgICAgICAgICAgIEFDX0RFRklORV9VTlFVT1RFRChTRExfQVVESU9fRFJJVkVSX0FSVFNfRFlOQU1JQywgIiRhcnRzX2xpYiIpCisrICAgICAgICAgICAgICAgICAgICBBQ19ERUZJTkVfVU5RVU9URUQoU0RMX0FVRElPX0RSSVZFUl9BUlRTX0RZTkFNSUMsICIkYXJ0c19saWIiLDEsIiIpCisgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgIEVYVFJBX0xERkxBR1M9IiRFWFRSQV9MREZMQUdTICRBUlRTX0xJQlMiCisgICAgICAgICAgICAgICAgIGZpCitAQCAtNjM0LDcgKzYzNCw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1uYXMtc2hhcmVkXSwgW2QKKyAgICAgICAgICAgICAgICAgRVhUUkFfTERGTEFHUz0iJEVYVFJBX0xERkxBR1MgJE5BU19MSUJTIgorICAgICAgICAgICAgIGZpCisgCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9BVURJT19EUklWRVJfTkFTKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfQVVESU9fRFJJVkVSX05BUywxLCIiKQorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2F1ZGlvL25hcy8qLmMiCisgICAgICAgICAgICAgRVhUUkFfQ0ZMQUdTPSIkRVhUUkFfQ0ZMQUdTICROQVNfQ0ZMQUdTIgorICAgICAgICAgICAgIGhhdmVfYXVkaW89eWVzCitAQCAtNjQ5LDcgKzY0OSw3IEBAIENoZWNrRGlza0F1ZGlvKCkKKyBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZGlza2F1ZGlvXSwgW3N1cHBvcnQgdGhlIGRpc2sgd3JpdGVyIGF1ZGlvIGRyaXZlciBbW2RlZmF1bHQ9eWVzXV1dKSwKKyAgICAgICAgICAgICAgICAgICAsIGVuYWJsZV9kaXNrYXVkaW89eWVzKQorICAgICBpZiB0ZXN0IHgkZW5hYmxlX2F1ZGlvID0geHllcyAtYSB4JGVuYWJsZV9kaXNrYXVkaW8gPSB4eWVzOyB0aGVuCistICAgICAgICBBQ19ERUZJTkUoU0RMX0FVRElPX0RSSVZFUl9ESVNLKQorKyAgICAgICAgQUNfREVGSU5FKFNETF9BVURJT19EUklWRVJfRElTSywxLCIiKQorICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvYXVkaW8vZGlzay8qLmMiCisgICAgIGZpCisgfQorQEAgLTY2MSw3ICs2NjEsNyBAQCBDaGVja0R1bW15QXVkaW8oKQorIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1kdW1teWF1ZGlvXSwgW3N1cHBvcnQgdGhlIGR1bW15IGF1ZGlvIGRyaXZlciBbW2RlZmF1bHQ9eWVzXV1dKSwKKyAgICAgICAgICAgICAgICAgICAsIGVuYWJsZV9kdW1teWF1ZGlvPXllcykKKyAgICAgaWYgdGVzdCB4JGVuYWJsZV9hdWRpbyA9IHh5ZXMgLWEgeCRlbmFibGVfZHVtbXlhdWRpbyA9IHh5ZXM7IHRoZW4KKy0gICAgICAgIEFDX0RFRklORShTRExfQVVESU9fRFJJVkVSX0RVTU1ZKQorKyAgICAgICAgQUNfREVGSU5FKFNETF9BVURJT19EUklWRVJfRFVNTVksMSwiIikKKyAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2F1ZGlvL2R1bW15LyouYyIKKyAgICAgZmkKKyB9CitAQCAtNjc3LDcgKzY3Nyw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1taW50YXVkaW9dLCBbc3UKKyAgICAgICAgIEFDX0NIRUNLX0hFQURFUihtaW50L2ZhbGNvbi5oLCBoYXZlX21pbnRfZmFsY29uX2hkcj15ZXMpCisgICAgICAgICBpZiB0ZXN0IHgkaGF2ZV9taW50X2ZhbGNvbl9oZHIgPSB4eWVzOyB0aGVuCisgICAgICAgICAgICAgbWludGF1ZGlvPXllcworLSAgICAgICAgICAgIEFDX0RFRklORShTRExfQVVESU9fRFJJVkVSX01JTlQpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9BVURJT19EUklWRVJfTUlOVCwxLCIiKQorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2F1ZGlvL21pbnQvKi5jIgorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2F1ZGlvL21pbnQvKi5TIgorICAgICAgICAgICAgIGhhdmVfYXVkaW89eWVzCitAQCAtNzQ2LDcgKzc0Niw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1uYXNtXSwgW3VzZSBuYXMKKyAgICAgICAgIENvbXBpbGVOQVNNIHVucXVvdGVkLXNlY3Rpb25zIHx8IE5BU009IiIKKyAKKyAgICAgICAgIGlmIHRlc3QgIngkTkFTTSIgIT0geCAtYSAieCROQVNNIiAhPSB4JyIkTkFTTSInOyB0aGVuCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9IRVJNRVNfQkxJVFRFUlMpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9IRVJNRVNfQkxJVFRFUlMsMSwiIikKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy9oZXJtZXMvKi5hc20iCisgICAgICAgICAgICAgTkFTTUZMQUdTPSIkTkFTTUZMQUdTIC1JICRzcmNkaXIvc3JjL2hlcm1lcy8iCisgCitAQCAtODQwLDkgKzg0MCw5IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1hbHRpdmVjXSwgW3VzZQorICAgICAgICAgQ0ZMQUdTPSIkc2F2ZV9DRkxBR1MiCisgCisgICAgICAgICBpZiB0ZXN0IHgkaGF2ZV9nY2NfYWx0aXZlYyA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0FMVElWRUNfQkxJVFRFUlMpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9BTFRJVkVDX0JMSVRURVJTLDEsIiIpCisgICAgICAgICAgICAgaWYgdGVzdCB4JGhhdmVfYWx0aXZlY19oX2hkciA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICAgIEFDX0RFRklORShIQVZFX0FMVElWRUNfSCkKKysgICAgICAgICAgICAgIEFDX0RFRklORShIQVZFX0FMVElWRUNfSCwxLCIiKQorICAgICAgICAgICAgIGZpCisgICAgICAgICAgICAgRVhUUkFfQ0ZMQUdTPSIkRVhUUkFfQ0ZMQUdTICRhbHRpdmVjX0NGTEFHUyIKKyAgICAgICAgIGZpCitAQCAtOTIwLDcgKzkyMCw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1pcG9kXSwgW2NvbmZpZ3UKKyAKKyAgICAgaWYgdGVzdCB4JGVuYWJsZV9pcG9kID0geHllczsgdGhlbgorICAgICAgICAgRVhUUkFfQ0ZMQUdTPSIkRVhUUkFfQ0ZMQUdTIC1ESVBPRCIKKy0gICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX0lQT0QpCisrICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX0RSSVZFUl9JUE9ELDEsIiIpCisgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy92aWRlby9pcG9kLyouYyIKKyAgICAgZmkKKyB9CitAQCAtOTU0LDcgKzk1NCw3IEBAIENoZWNrTkFOT1goKQorICAgICAgICAgICAgIEVYVFJBX0NGTEFHUz0iJEVYVFJBX0NGTEFHUyAtREVOQUJMRV9OQU5PWF9ESVJFQ1RfRkIiCisgICAgICAgICBmaQorIAorLSAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfTkFOT1gpCisrICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX0RSSVZFUl9OQU5PWCwxLCIiKQorICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvdmlkZW8vbmFub3gvKi5jIgorICAgICAgICAgRVhUUkFfTERGTEFHUz0iJEVYVFJBX0xERkxBR1MgLWxuYW5vLVgiCisgICAgICAgICBoYXZlX3ZpZGVvPXllcworQEAgLTEwMjAsNyArMTAyMCw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS14MTEtc2hhcmVkXSwgW2QKKyAgICAgICAgICAgICBDRkxBR1M9IiRDRkxBR1MgJFhfQ0ZMQUdTIgorICAgICAgICAgICAgIExERkxBR1M9IiRMREZMQUdTICRYX0xJQlMiCisgCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfWDExKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX1gxMSwxLCIiKQorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL3ZpZGVvL3gxMS8qLmMiCisgICAgICAgICAgICAgRVhUUkFfQ0ZMQUdTPSIkRVhUUkFfQ0ZMQUdTICRYX0NGTEFHUyIKKyAKK0BAIC0xMDQyLDggKzEwNDIsOCBAQCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUteDExLXNoYXJlZF0sIFtkCisgICAgICAgICAgICAgICAgdGVzdCB4JGVuYWJsZV94MTFfc2hhcmVkID0geHllcyAmJiB0ZXN0IHgkeDExX2xpYiAhPSB4ICYmIHRlc3QgeCR4MTFleHRfbGliICE9IHg7IHRoZW4KKyAgICAgICAgICAgICAgICAgZWNobyAiLS0gZHluYW1pYyBsaWJYMTEgLT4gJHgxMV9saWIiCisgICAgICAgICAgICAgICAgIGVjaG8gIi0tIGR5bmFtaWMgbGliWDExZXh0IC0+ICR4MTFleHRfbGliIgorLSAgICAgICAgICAgICAgICBBQ19ERUZJTkVfVU5RVU9URUQoU0RMX1ZJREVPX0RSSVZFUl9YMTFfRFlOQU1JQywgIiR4MTFfbGliIikKKy0gICAgICAgICAgICAgICAgQUNfREVGSU5FX1VOUVVPVEVEKFNETF9WSURFT19EUklWRVJfWDExX0RZTkFNSUNfWEVYVCwgIiR4MTFleHRfbGliIikKKysgICAgICAgICAgICAgICAgQUNfREVGSU5FX1VOUVVPVEVEKFNETF9WSURFT19EUklWRVJfWDExX0RZTkFNSUMsICIkeDExX2xpYiIsIiIpCisrICAgICAgICAgICAgICAgIEFDX0RFRklORV9VTlFVT1RFRChTRExfVklERU9fRFJJVkVSX1gxMV9EWU5BTUlDX1hFWFQsICIkeDExZXh0X2xpYiIsIiIpCisgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICBlbmFibGVfeDExX3NoYXJlZD1ubworICAgICAgICAgICAgICAgICBFWFRSQV9MREZMQUdTPSIkRVhUUkFfTERGTEFHUyAkWF9MSUJTIC1sWDExIC1sWGV4dCIKK0BAIC0xMDYwLDIwICsxMDYwLDIwIEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1kZ2FdLCBbYWxsb3cgdXMKKyBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtdmlkZW8tZGdhXSwgW3VzZSBER0EgMi4wIHZpZGVvIGRyaXZlciBbW2RlZmF1bHQ9eWVzXV1dKSwKKyAgICAgICAgICAgICAgICAgICAsIGVuYWJsZV92aWRlb19kZ2E9eWVzKQorICAgICAgICAgICAgIGlmIHRlc3QgeCRlbmFibGVfZGdhID0geHllcyAtYSB4JGVuYWJsZV92aWRlb19kZ2EgPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX0RHQSkKKysgICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfREdBLDEsIiIpCisgICAgICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL3ZpZGVvL2RnYS8qLmMiCisgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICBBQ19BUkdfRU5BQkxFKHZpZGVvLXgxMS1kZ2Ftb3VzZSwKKyBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtdmlkZW8teDExLWRnYW1vdXNlXSwgW3VzZSBYMTEgREdBIGZvciBtb3VzZSBldmVudHMgW1tkZWZhdWx0PXllc11dXSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAsIGVuYWJsZV92aWRlb194MTFfZGdhbW91c2U9eWVzKQorICAgICAgICAgICAgIGlmIHRlc3QgeCRlbmFibGVfZGdhID0geHllcyAtYSB4JGVuYWJsZV92aWRlb194MTFfZGdhbW91c2UgPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX1gxMV9ER0FNT1VTRSkKKysgICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfWDExX0RHQU1PVVNFLDEsIiIpCisgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICBBQ19BUkdfRU5BQkxFKHZpZGVvLXgxMS12bSwKKyBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtdmlkZW8teDExLXZtXSwgW3VzZSBYMTEgVk0gZXh0ZW5zaW9uIGZvciBmdWxsc2NyZWVuIFtbZGVmYXVsdD15ZXNdXV0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgLCBlbmFibGVfdmlkZW9feDExX3ZtPXllcykKKyAgICAgICAgICAgICBpZiB0ZXN0IHgkZW5hYmxlX3ZpZGVvX3gxMV92bSA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfWDExX1ZJRE1PREUpCisrICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX1gxMV9WSURNT0RFLDEsIiIpCisgICAgICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL3ZpZGVvL1hleHQvWHhmODZ2bS8qLmMiCisgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICBBQ19BUkdfRU5BQkxFKHZpZGVvLXgxMS14diwKK0BAIC0xMDg3LDE0ICsxMDg3LDE0IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS12aWRlby14MTEteHZdLAorIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS12aWRlby14MTEteGluZXJhbWFdLCBbZW5hYmxlIFgxMSBYaW5lcmFtYSBzdXBwb3J0IFtbZGVmYXVsdD15ZXNdXV0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIGVuYWJsZV92aWRlb194MTFfeGluZXJhbWE9eWVzKQorICAgICAgICAgICAgIGlmIHRlc3QgeCRlbmFibGVfdmlkZW9feDExX3hpbmVyYW1hID0geHllczsgdGhlbgorLSAgICAgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX0RSSVZFUl9YMTFfWElORVJBTUEpCisrICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX1gxMV9YSU5FUkFNQSwxLCIiKQorICAgICAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy92aWRlby9YZXh0L1hpbmVyYW1hLyouYyIKKyAgICAgICAgICAgICBmaQorICAgICAgICAgICAgIEFDX0FSR19FTkFCTEUodmlkZW8teDExLXhtZSwKKyBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtdmlkZW8teDExLXhtZV0sIFtlbmFibGUgWGkgR3JhcGhpY3MgWE1FIGZvciBmdWxsc2NyZWVuIFtbZGVmYXVsdD15ZXNdXV0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsIGVuYWJsZV92aWRlb194MTFfeG1lPXllcykKKyAgICAgICAgICAgICBpZiB0ZXN0IHgkZW5hYmxlX3ZpZGVvX3gxMV94bWUgPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX1gxMV9YTUUpCisrICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX1gxMV9YTUUsMSwiIikKKyAgICAgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvdmlkZW8vWGV4dC9YTUUvKi5jIgorICAgICAgICAgICAgIGZpCisgICAgICAgICAgICAgQUNfQVJHX0VOQUJMRSh2aWRlby14MTEteHJhbmRyLAorQEAgLTExMTEsOCArMTExMSw4IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS12aWRlby14MTEteHJhbmQKKyAgICAgICAgICAgICAgICAgICAgIGlmIHRlc3QgeCRlbmFibGVfeDExX3NoYXJlZCA9IHh5ZXMgJiYgdGVzdCB4JHhyYW5kcl9saWIgIT0geCA7IHRoZW4KKyAgICAgICAgICAgICAgICAgICAgICAgICBlY2hvICItLSBkeW5hbWljIGxpYlhyZW5kZXIgLT4gJHhyZW5kZXJfbGliIgorICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIi0tIGR5bmFtaWMgbGliWHJhbmRyIC0+ICR4cmFuZHJfbGliIgorLSAgICAgICAgICAgICAgICAgICAgICAgIEFDX0RFRklORV9VTlFVT1RFRChTRExfVklERU9fRFJJVkVSX1gxMV9EWU5BTUlDX1hSRU5ERVIsICIkeHJlbmRlcl9saWIiKQorLSAgICAgICAgICAgICAgICAgICAgICAgIEFDX0RFRklORV9VTlFVT1RFRChTRExfVklERU9fRFJJVkVSX1gxMV9EWU5BTUlDX1hSQU5EUiwgIiR4cmFuZHJfbGliIikKKysgICAgICAgICAgICAgICAgICAgICAgICBBQ19ERUZJTkVfVU5RVU9URUQoU0RMX1ZJREVPX0RSSVZFUl9YMTFfRFlOQU1JQ19YUkVOREVSLCAiJHhyZW5kZXJfbGliIiwiIikKKysgICAgICAgICAgICAgICAgICAgICAgICBBQ19ERUZJTkVfVU5RVU9URUQoU0RMX1ZJREVPX0RSSVZFUl9YMTFfRFlOQU1JQ19YUkFORFIsICIkeHJhbmRyX2xpYiIsIiIpCisgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5pdGVseV9lbmFibGVfdmlkZW9feDExX3hyYW5kcj15ZXMKKyAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICBBQ19DSEVDS19MSUIoWHJlbmRlciwgWFJlbmRlclF1ZXJ5RXh0ZW5zaW9uLCBoYXZlX3hyZW5kZXJfbGliPXllcykKK0BAIC0xMTI1LDcgKzExMjUsNyBAQCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtdmlkZW8teDExLXhyYW5kCisgICAgICAgICAgICAgICAgIGZpCisgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICBpZiB0ZXN0IHgkZGVmaW5pdGVseV9lbmFibGVfdmlkZW9feDExX3hyYW5kciA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfWDExX1hSQU5EUikKKysgICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfWDExX1hSQU5EUiwxLCIiKQorICAgICAgICAgICAgIGZpCisgICAgICAgICBmaQorICAgICBmaQorQEAgLTExNTIsNyArMTE1Miw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS12aWRlby1waG90b25dLAorICAgICAgICAgXSkKKyAgICAgICAgIEFDX01TR19SRVNVTFQoJHZpZGVvX3Bob3RvbikKKyAgICAgICAgIGlmIHRlc3QgeCR2aWRlb19waG90b24gPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfUEhPVE9OKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX1BIT1RPTiwxLCIiKQorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL3ZpZGVvL3Bob3Rvbi8qLmMiCisgICAgICAgICAgICAgRVhUUkFfTERGTEFHUz0iJEVYVFJBX0xERkxBR1MgLWxwaCIKKyAgICAgICAgICAgICBoYXZlX3ZpZGVvPXllcworQEAgLTExNjYsNyArMTE2Niw3IEBAIGRubCBTZXQgdXAgdGhlIEJXaW5kb3cgdmlkZW8gZHJpdmVyIGlmIGUKKyBDaGVja0JXSU5ET1coKQorIHsKKyAgICAgaWYgdGVzdCB4JGVuYWJsZV92aWRlbyA9IHh5ZXM7IHRoZW4KKy0gICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX0JXSU5ET1cpCisrICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX0RSSVZFUl9CV0lORE9XLDEsIiIpCisgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy92aWRlby9id2luZG93LyouY2MiCisgICAgICAgICBoYXZlX3ZpZGVvPXllcworICAgICBmaQorQEAgLTExODksNyArMTE4OSw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS12aWRlby1jYXJib25dLAorICAgICAgICAgXSkKKyAgICAgICAgIEFDX01TR19SRVNVTFQoJGhhdmVfY2FyYm9uKQorICAgICAgICAgaWYgdGVzdCB4JGhhdmVfY2FyYm9uID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX1RPT0xCT1gpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfVE9PTEJPWCwxLCIiKQorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL3ZpZGVvL21hY2NvbW1vbi8qLmMiCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvdmlkZW8vbWFjcm9tLyouYyIKKyAgICAgICAgICAgICBoYXZlX3ZpZGVvPXllcworQEAgLTEyMTgsNyArMTIxOCw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS12aWRlby1jb2NvYV0sIFsKKyAgICAgICAgIEFDX01TR19SRVNVTFQoJGhhdmVfY29jb2EpCisgICAgICAgICBDRkxBR1M9IiRzYXZlX0NGTEFHUyIKKyAgICAgICAgIGlmIHRlc3QgeCRoYXZlX2NvY29hID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX1FVQVJUWikKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX0RSSVZFUl9RVUFSVFosMSwiIikKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy92aWRlby9xdWFydHovKi5tIgorICAgICAgICAgICAgIGhhdmVfdmlkZW89eWVzCisgICAgICAgICBmaQorQEAgLTEyNDUsNyArMTI0NSw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS12aWRlby1mYmNvbl0sIFsKKyAgICAgICAgIEFDX01TR19SRVNVTFQoJHZpZGVvX2ZiY29uKQorICAgICAgICAgaWYgdGVzdCB4JHZpZGVvX2ZiY29uID0geHllczsgdGhlbgorICAgICAgICAgICAgIEFDX0NIRUNLX0ZVTkNTKGdldHBhZ2VzaXplKQorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX0ZCQ09OKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX0ZCQ09OLDEsIiIpCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvdmlkZW8vZmJjb24vKi5jIgorICAgICAgICAgICAgIGhhdmVfdmlkZW89eWVzCisgICAgICAgICBmaQorQEAgLTEyOTYsNyArMTI5Niw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS12aWRlby1kaXJlY3RmYl0KKyAgICAgICAgIEFDX01TR19SRVNVTFQoJHZpZGVvX2RpcmVjdGZiKQorIAorICAgICAgICAgaWYgdGVzdCB4JHZpZGVvX2RpcmVjdGZiID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX0RJUkVDVEZCKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX0RJUkVDVEZCLDEsIiIpCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvdmlkZW8vZGlyZWN0ZmIvKi5jIgorICAgICAgICAgICAgIEVYVFJBX0NGTEFHUz0iJEVYVFJBX0NGTEFHUyAkRElSRUNURkJfQ0ZMQUdTIgorICAgICAgICAgICAgIEVYVFJBX0xERkxBR1M9IiRFWFRSQV9MREZMQUdTICRESVJFQ1RGQl9MSUJTIgorQEAgLTEzMjMsNyArMTMyMyw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS12aWRlby1wczJnc10sIFsKKyAgICAgICAgIF0pCisgICAgICAgICBBQ19NU0dfUkVTVUxUKCR2aWRlb19wczJncykKKyAgICAgICAgIGlmIHRlc3QgeCR2aWRlb19wczJncyA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX0RSSVZFUl9QUzJHUykKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX0RSSVZFUl9QUzJHUywxLCIiKQorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL3ZpZGVvL3BzMmdzLyouYyIKKyAgICAgICAgICAgICBoYXZlX3ZpZGVvPXllcworICAgICAgICAgZmkKK0BAIC0xMzc2LDcgKzEzNzYsNyBAQCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtdmlkZW8tZ2dpXSwgW3VzCisgICAgICAgICBdKQorICAgICAgICAgQUNfTVNHX1JFU1VMVCgkdmlkZW9fZ2dpKQorICAgICAgICAgaWYgdGVzdCB4JHZpZGVvX2dnaSA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX0RSSVZFUl9HR0kpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfR0dJLDEsIiIpCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvdmlkZW8vZ2dpLyouYyIKKyAgICAgICAgICAgICBFWFRSQV9MREZMQUdTPSIkRVhUUkFfTERGTEFHUyAtbGdnaSAtbGdpaSAtbGdnIgorICAgICAgICAgICAgIGhhdmVfdmlkZW89eWVzCitAQCAtMTQwNiw3ICsxNDA2LDcgQEAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXZpZGVvLXN2Z2FdLCBbdQorICAgICAgICAgXSkKKyAgICAgICAgIEFDX01TR19SRVNVTFQoJHZpZGVvX3N2Z2EpCisgICAgICAgICBpZiB0ZXN0IHgkdmlkZW9fc3ZnYSA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX0RSSVZFUl9TVkdBTElCKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX1NWR0FMSUIsMSwiIikKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy92aWRlby9zdmdhLyouYyIKKyAgICAgICAgICAgICBFWFRSQV9MREZMQUdTPSIkRVhUUkFfTERGTEFHUyAtbHZnYSIKKyAgICAgICAgICAgICBoYXZlX3ZpZGVvPXllcworQEAgLTE0MzgsNyArMTQzOCw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS12aWRlby12Z2xdLCBbdXMKKyAgICAgICAgIF0pCisgICAgICAgICBBQ19NU0dfUkVTVUxUKCR2aWRlb192Z2wpCisgICAgICAgICBpZiB0ZXN0IHgkdmlkZW9fdmdsID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX1ZHTCkKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX0RSSVZFUl9WR0wsMSwiIikKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy92aWRlby92Z2wvKi5jIgorICAgICAgICAgICAgIEVYVFJBX0xERkxBR1M9IiRFWFRSQV9MREZMQUdTIC1sdmdsIgorICAgICAgICAgICAgIGhhdmVfdmlkZW89eWVzCitAQCAtMTQ2Niw3ICsxNDY2LDcgQEAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXZpZGVvLXdzY29uc10sCisgICAgICAgICBdKQorICAgICAgICAgQUNfTVNHX1JFU1VMVCgkdmlkZW9fd3Njb25zKQorICAgICAgICAgaWYgdGVzdCB4JHZpZGVvX3dzY29ucyA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX0RSSVZFUl9XU0NPTlMpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfV1NDT05TLDEsIiIpCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvdmlkZW8vd3Njb25zLyouYyIKKyAgICAgICAgICAgICBoYXZlX3ZpZGVvPXllcworICAgICAgICAgZmkKK0BAIC0xNDkxLDcgKzE0OTEsNyBAQCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtdmlkZW8tYWFsaWJdLCBbCisgICAgICAgICBdKQorICAgICAgICAgQUNfTVNHX1JFU1VMVCgkdmlkZW9fYWFsaWIpCisgICAgICAgICBpZiB0ZXN0IHgkdmlkZW9fYWFsaWIgPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfQUFMSUIpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfQUFMSUIsMSwiIikKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy92aWRlby9hYWxpYi8qLmMiCisgICAgICAgICAgICAgRVhUUkFfTERGTEFHUz0iJEVYVFJBX0xERkxBR1MgLWxhYSIKKyAgICAgICAgICAgICBoYXZlX3ZpZGVvPXllcworQEAgLTE1NTMsNyArMTU1Myw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS12aWRlby1xdG9waWFdLAorICAgICAgICAgQ1hYRkxBR1M9IiRPTERfQ1hYIgorICAgICAgICAgQUNfTVNHX1JFU1VMVCgkdmlkZW9fcXRvcGlhKQorICAgICAgICAgaWYgdGVzdCB4JHZpZGVvX3F0b3BpYSA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX0RSSVZFUl9RVE9QSUEpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfUVRPUElBLDEsIiIpCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvdmlkZW8vcXRvcGlhLyouY2MiCisgICAgICAgICAgICAgU0RMTUFJTl9TT1VSQ0VTPSIkc3JjZGlyL3NyYy9tYWluL3F0b3BpYS8qLmNjIgorICAgICAgICAgICAgIFNETE1BSU5fTERGTEFHUz0iLXN0YXRpYyIKK0BAIC0xNTgzLDcgKzE1ODMsNyBAQCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtdmlkZW8tcGljb2d1aV0sCisgICAgICAgICBdKQorICAgICAgICAgQUNfTVNHX1JFU1VMVCgkdmlkZW9fcGljb2d1aSkKKyAgICAgICAgIGlmIHRlc3QgeCR2aWRlb19waWNvZ3VpID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX1BJQ09HVUkpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfUElDT0dVSSwxLCIiKQorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL3ZpZGVvL3BpY29ndWkvKi5jIgorICAgICAgICAgICAgIFNETF9MSUJTPSIkU0RMX0xJQlMgLWxwZ3VpIgorICAgICAgICAgICAgIGhhdmVfdmlkZW89eWVzCitAQCAtMTYwNyw3ICsxNjA3LDcgQEAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXZpZGVvLXhiaW9zXSwgWworICAgICB2aWRlb194Ymlvcz1ubworICAgICBpZiB0ZXN0IHgkZW5hYmxlX3ZpZGVvID0geHllcyAtYSB4JGVuYWJsZV92aWRlb194YmlvcyA9IHh5ZXM7IHRoZW4KKyAgICAgICAgIHZpZGVvX3hiaW9zPXllcworLSAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfWEJJT1MpCisrICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX0RSSVZFUl9YQklPUywxLCIiKQorICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvdmlkZW8veGJpb3MvKi5jIgorICAgICAgICAgaGF2ZV92aWRlbz15ZXMKKyAgICAgZmkKK0BAIC0xNjI1LDcgKzE2MjUsNyBAQCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtdmlkZW8tZ2VtXSwgW3VzCisgICAgICAgICBBQ19DSEVDS19MSUIoZ2VtLCBhcHBsX2luaXQsIGhhdmVfZ2VtX2xpYj15ZXMpCisgICAgICAgICBpZiB0ZXN0IHgkaGF2ZV9nZW1faGRyID0geHllcyAtYSB4JGhhdmVfZ2VtX2xpYiA9IHh5ZXM7IHRoZW4KKyAgICAgICAgICAgICB2aWRlb19nZW09eWVzCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfR0VNKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX0dFTSwxLCIiKQorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL3ZpZGVvL2dlbS8qLmMiCisgICAgICAgICAgICAgU0RMX0xJQlM9IiRTRExfTElCUyAtbGdlbSIKKyAgICAgICAgICAgICBoYXZlX3ZpZGVvPXllcworQEAgLTE2NDAsNyArMTY0MCw3IEBAIENoZWNrRHVtbXlWaWRlbygpCisgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXZpZGVvLWR1bW15XSwgW3VzZSBkdW1teSB2aWRlbyBkcml2ZXIgW1tkZWZhdWx0PXllc11dXSksCisgICAgICAgICAgICAgICAgICAgLCBlbmFibGVfdmlkZW9fZHVtbXk9eWVzKQorICAgICBpZiB0ZXN0IHgkZW5hYmxlX3ZpZGVvX2R1bW15ID0geHllczsgdGhlbgorLSAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfRFVNTVkpCisrICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX0RSSVZFUl9EVU1NWSwxLCIiKQorICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvdmlkZW8vZHVtbXkvKi5jIgorICAgICAgICAgaGF2ZV92aWRlbz15ZXMKKyAgICAgZmkKK0BAIC0xNjY3LDggKzE2NjcsOCBAQCBDaGVja09wZW5HTFgxMSgpCisgICAgICAgICBdKQorICAgICAgICAgQUNfTVNHX1JFU1VMVCgkdmlkZW9fb3BlbmdsKQorICAgICAgICAgaWYgdGVzdCB4JHZpZGVvX29wZW5nbCA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX09QRU5HTCkKKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX09QRU5HTF9HTFgpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19PUEVOR0wsMSwiIikKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX09QRU5HTF9HTFgsMSwiIikKKyAgICAgICAgIGZpCisgICAgIGZpCisgfQorQEAgLTE2ODcsNyArMTY4Nyw3IEBAIENoZWNrT3BlbkdMUU5YKCkKKyAgICAgICAgIF0pCisgICAgICAgICBBQ19NU0dfUkVTVUxUKCR2aWRlb19vcGVuZ2wpCisgICAgICAgICBpZiB0ZXN0IHgkdmlkZW9fb3BlbmdsID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fT1BFTkdMKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fT1BFTkdMLDEsIiIpCisgICAgICAgICAgICAgRVhUUkFfTERGTEFHUz0iJEVYVFJBX0xERkxBR1MgLWxHTCIKKyAgICAgICAgIGZpCisgICAgIGZpCitAQCAtMTY5Nyw4ICsxNjk3LDggQEAgZG5sIENoZWNrIGZvciBXaW4zMiBPcGVuR0wKKyBDaGVja1dJTjMyR0woKQorIHsKKyAgICAgaWYgdGVzdCB4JGVuYWJsZV92aWRlbyA9IHh5ZXMgLWEgeCRlbmFibGVfdmlkZW9fb3BlbmdsID0geHllczsgdGhlbgorLSAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19PUEVOR0wpCistICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX09QRU5HTF9XR0wpCisrICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX09QRU5HTCwxLCIiKQorKyAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19PUEVOR0xfV0dMLDEsIiIpCisgICAgIGZpCisgfQorIAorQEAgLTE3MDYsNyArMTcwNiw3IEBAIGRubCBDaGVjayBmb3IgQmVPUyBPcGVuR0wKKyBDaGVja0JlR0woKQorIHsKKyAgICAgaWYgdGVzdCB4JGVuYWJsZV92aWRlbyA9IHh5ZXMgLWEgeCRlbmFibGVfdmlkZW9fb3BlbmdsID0geHllczsgdGhlbgorLSAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19PUEVOR0wpCisrICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX09QRU5HTCwxLCIiKQorICAgICAgICAgRVhUUkFfTERGTEFHUz0iJEVYVFJBX0xERkxBR1MgLWxHTCIKKyAgICAgZmkKKyB9CitAQCAtMTcxNSw3ICsxNzE1LDcgQEAgZG5sIENoZWNrIGZvciBNYWNPUyBPcGVuR0wKKyBDaGVja01hY0dMKCkKKyB7CisgICAgIGlmIHRlc3QgeCRlbmFibGVfdmlkZW8gPSB4eWVzIC1hIHgkZW5hYmxlX3ZpZGVvX29wZW5nbCA9IHh5ZXM7IHRoZW4KKy0gICAgICAgIEFDX0RFRklORShTRExfVklERU9fT1BFTkdMKQorKyAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19PUEVOR0wsMSwiIikKKyAgICAgICAgIGNhc2UgIiRob3N0IiBpbgorICAgICAgICAgICAgICotKi1kYXJ3aW4qKQorICAgICAgICAgICAgICAgICBpZiB0ZXN0IHgkZW5hYmxlX3ZpZGVvX2NvY29hID0geHllczsgdGhlbgorQEAgLTE3NDcsOCArMTc0Nyw4IEBAIENoZWNrQXRhcmlPU01lc2EoKQorICAgICAgICAgICAgIE9TTUVTQV9DRkxBR1M9YCRPU01FU0FfQ09ORklHIC0tY2ZsYWdzYAorICAgICAgICAgICAgIE9TTUVTQV9MSUJTPWAkT1NNRVNBX0NPTkZJRyAtLWxpYnNgCisgICAgICAgICBmaQorLSAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19PUEVOR0wpCistICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX09QRU5HTF9PU01FU0EpCisrICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX09QRU5HTCwxLCIiKQorKyAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19PUEVOR0xfT1NNRVNBLDEsIiIpCisgICAgICAgICBTRExfQ0ZMQUdTPSIkU0RMX0NGTEFHUyAkT1NNRVNBX0NGTEFHUyIKKyAgICAgICAgIFNETF9MSUJTPSIkU0RMX0xJQlMgJE9TTUVTQV9MSUJTIgorIAorQEAgLTE3NTgsNyArMTc1OCw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1vc21lc2Etc2hhcmVkXSwKKyAgICAgICAgIGlmIHRlc3QgIngkZW5hYmxlX29zbWVzYV9zaGFyZWQiID0gInh5ZXMiIC1hICJ4JGVuYWJsZV9hdGFyaV9sZGciID0gInh5ZXMiOyB0aGVuCisgICAgICAgICAgICAgIyBEeW5hbWljIGxpbmtpbmcKKyAgICAgICAgICAgICBpZiB0ZXN0ICJ4JGhhdmVfb3NtZXNhX2hkciIgPSAieHllcyI7IHRoZW4KKy0gICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19PUEVOR0xfT1NNRVNBX0RZTkFNSUMpCisrICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fT1BFTkdMX09TTUVTQV9EWU5BTUlDLDEsIiIpCisgICAgICAgICAgICAgZmkKKyAgICAgICAgIGZpCisgICAgIGZpCitAQCAtMTc5Miw3ICsxNzkyLDcgQEAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWlucHV0LWV2ZW50c10sCisgICAgICAgICBdKQorICAgICAgICAgQUNfTVNHX1JFU1VMVCgkdXNlX2lucHV0X2V2ZW50cykKKyAgICAgICAgIGlmIHRlc3QgeCR1c2VfaW5wdXRfZXZlbnRzID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfSU5QVVRfTElOVVhFVikKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0lOUFVUX0xJTlVYRVYsMSwiIikKKyAgICAgICAgIGZpCisgICAgIGZpCisgfQorQEAgLTE4MTQsNyArMTgxNCw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1pbnB1dC10c2xpYl0sIFsKKyAgICAgICAgIF0pCisgICAgICAgICBBQ19NU0dfUkVTVUxUKCRlbmFibGVfaW5wdXRfdHNsaWIpCisgICAgICAgICBpZiB0ZXN0IHgkZW5hYmxlX2lucHV0X3RzbGliID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfSU5QVVRfVFNMSUIpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9JTlBVVF9UU0xJQiwxLCIiKQorICAgICAgICAgICAgIEVYVFJBX0xERkxBR1M9IiRFWFRSQV9MREZMQUdTIC1sdHMiCisgICAgICAgICBmaQorICAgICBmaQorQEAgLTE4MzcsNyArMTgzNyw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1wdGhdLCBbdXNlIEdOVQorICAgICAgICAgQUNfTVNHX0NIRUNLSU5HKHB0aCkKKyAgICAgICAgIEFDX01TR19SRVNVTFQoJHVzZV9wdGgpCisgICAgICAgICBpZiB0ZXN0ICJ4JHVzZV9wdGgiID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfVEhSRUFEX1BUSCkKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1RIUkVBRF9QVEgsMSwiIikKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy90aHJlYWQvcHRoLyouYyIKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy90aHJlYWQvZ2VuZXJpYy9TRExfc3lzc2VtLmMiCisgICAgICAgICAgICAgU0RMX0NGTEFHUz0iJFNETF9DRkxBR1MgYCRQVEhfQ09ORklHIC0tY2ZsYWdzYCIKK0BAIC0xOTQzLDcgKzE5NDMsNyBAQCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtcHRocmVhZC1zZW1dLCBbCisgCisgICAgICAgICAjIERvIGZ1dGhlciB0ZXN0aW5nIGlmIHdlIGhhdmUgcHRocmVhZCBzdXBwb3J0Li4uCisgICAgICAgICBpZiB0ZXN0IHgkdXNlX3B0aHJlYWRzID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfVEhSRUFEX1BUSFJFQUQpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9USFJFQURfUFRIUkVBRCwxLCIiKQorICAgICAgICAgICAgIEVYVFJBX0NGTEFHUz0iJEVYVFJBX0NGTEFHUyAkcHRocmVhZF9jZmxhZ3MiCisgICAgICAgICAgICAgRVhUUkFfTERGTEFHUz0iJEVYVFJBX0xERkxBR1MgJHB0aHJlYWRfbGliIgorICAgICAgICAgICAgIFNETF9DRkxBR1M9IiRTRExfQ0ZMQUdTICRwdGhyZWFkX2NmbGFncyIKK0BAIC0xOTY1LDcgKzE5NjUsNyBAQCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtcHRocmVhZC1zZW1dLCBbCisgICAgICAgICAgICAgICAgICAgcHRocmVhZF9tdXRleGF0dHJfc2V0dHlwZSgmYXR0ciwgUFRIUkVBRF9NVVRFWF9SRUNVUlNJVkUpOworICAgICAgICAgICAgICAgICBdLFsKKyAgICAgICAgICAgICAgICAgaGFzX3JlY3Vyc2l2ZV9tdXRleGVzPXllcworLSAgICAgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1RIUkVBRF9QVEhSRUFEX1JFQ1VSU0lWRV9NVVRFWCkKKysgICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9USFJFQURfUFRIUkVBRF9SRUNVUlNJVkVfTVVURVgsMSwiIikKKyAgICAgICAgICAgICAgICAgXSkKKyAgICAgICAgICAgICBmaQorICAgICAgICAgICAgIGlmIHRlc3QgeCRoYXNfcmVjdXJzaXZlX211dGV4ZXMgPSB4bm87IHRoZW4KK0BAIC0xOTc2LDcgKzE5NzYsNyBAQCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtcHRocmVhZC1zZW1dLCBbCisgICAgICAgICAgICAgICAgICAgcHRocmVhZF9tdXRleGF0dHJfc2V0a2luZF9ucCgmYXR0ciwgUFRIUkVBRF9NVVRFWF9SRUNVUlNJVkVfTlApOworICAgICAgICAgICAgICAgICBdLFsKKyAgICAgICAgICAgICAgICAgaGFzX3JlY3Vyc2l2ZV9tdXRleGVzPXllcworLSAgICAgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1RIUkVBRF9QVEhSRUFEX1JFQ1VSU0lWRV9NVVRFWF9OUCkKKysgICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9USFJFQURfUFRIUkVBRF9SRUNVUlNJVkVfTVVURVhfTlAsMSwiIikKKyAgICAgICAgICAgICAgICAgXSkKKyAgICAgICAgICAgICBmaQorICAgICAgICAgICAgIEFDX01TR19SRVNVTFQoJGhhc19yZWN1cnNpdmVfbXV0ZXhlcykKK0BAIC0yMDY1LDcgKzIwNjUsNyBAQCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtc3RkaW8tcmVkaXJlY3RdCisgICAgIGZpCisgCisgICAgIGlmIHRlc3QgeCRlbmFibGVfdmlkZW8gPSB4eWVzOyB0aGVuCistICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX0RSSVZFUl9XSU5ESUIpCisrICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX0RSSVZFUl9XSU5ESUIsMSwiIikKKyAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL3ZpZGVvL3dpbmNvbW1vbi8qLmMiCisgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy92aWRlby93aW5kaWIvKi5jIgorICAgICAgICAgaGF2ZV92aWRlbz15ZXMKK0BAIC0yMDg3LDcgKzIwODcsNyBAQCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZGlyZWN0eF0sIFt1c2UKKyAgICAgICAgICAgICBoYXZlX2RpcmVjdHg9eWVzCisgICAgICAgICBmaQorICAgICAgICAgaWYgdGVzdCB4JGVuYWJsZV92aWRlbyA9IHh5ZXMgLWEgeCRoYXZlX2RpcmVjdHggPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfRERSQVcpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9WSURFT19EUklWRVJfRERSQVcsMSwiIikKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy92aWRlby93aW5keDUvKi5jIgorICAgICAgICAgICAgIGhhdmVfdmlkZW89eWVzCisgICAgICAgICBmaQorQEAgLTIxMTgsNyArMjExOCw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1zZGwtZGxvcGVuXSwgW3UKKyAgICAgICAgICAgICBBQ19DSEVDS19MSUIoYywgZGxvcGVuLCBFWFRSQV9MREZMQUdTPSIkRVhUUkFfTERGTEFHUyIsCisgICAgICAgICAgICAgICAgQUNfQ0hFQ0tfTElCKGRsLCBkbG9wZW4sIEVYVFJBX0xERkxBR1M9IiRFWFRSQV9MREZMQUdTIC1sZGwiLAorICAgICAgICAgICAgICAgICAgIEFDX0NIRUNLX0xJQihsdGRsLCBkbG9wZW4sIEVYVFJBX0xERkxBR1M9IiRFWFRSQV9MREZMQUdTIC1sbHRkbCIpKSkKKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0xPQURTT19ETE9QRU4pCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9MT0FEU09fRExPUEVOLDEsIiIpCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvbG9hZHNvL2Rsb3Blbi8qLmMiCisgICAgICAgICAgICAgaGF2ZV9sb2Fkc289eWVzCisgICAgICAgICBmaQorQEAgLTIxMzUsNyArMjEzNSw3IEBAIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1hdGFyaS1sZGddLCBbdXMKKyAgICAgICAgIEFDX0NIRUNLX0hFQURFUihsZGcuaCwgaGF2ZV9sZGdfaGRyPXllcykKKyAgICAgICAgIEFDX0NIRUNLX0xJQihsZGcsIGxkZ19vcGVuLCBoYXZlX2xkZ19saWI9eWVzLCBoYXZlX2xkZ19saWI9bm8sIC1sZ2VtKQorICAgICAgICAgaWYgdGVzdCB4JGhhdmVfbGRnX2hkciA9IHh5ZXMgLWEgeCRoYXZlX2xkZ19saWIgPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9MT0FEU09fTERHKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfTE9BRFNPX0xERywxLCIiKQorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2xvYWRzby9taW50LyouYyIKKyAgICAgICAgICAgICBTRExfTElCUz0iJFNETF9MSUJTIC1sbGRnIC1sZ2VtIgorICAgICAgICAgICAgIGhhdmVfbG9hZHNvPXllcworQEAgLTIyNjYsMTEgKzIyNjYsMTEgQEAgQ2hlY2tVU0JISUQoKQorICAgICAgICAgICAgIGhhdmVfbWFjaGluZV9qb3lzdGljaz15ZXMKKyAgICAgICAgICAgICBdKQorICAgICAgICAgICAgIGlmIHRlc3QgeCRoYXZlX21hY2hpbmVfam95c3RpY2sgPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfSk9ZU1RJQ0tfVVNCSElEX01BQ0hJTkVfSk9ZU1RJQ0tfSCkKKysgICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9KT1lTVElDS19VU0JISURfTUFDSElORV9KT1lTVElDS19ILDEsIiIpCisgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICBBQ19NU0dfUkVTVUxUKCRoYXZlX21hY2hpbmVfam95c3RpY2spCisgCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9KT1lTVElDS19VU0JISUQpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9KT1lTVElDS19VU0JISUQsMSwiIikKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy9qb3lzdGljay9ic2QvKi5jIgorICAgICAgICAgICAgIEVYVFJBX0NGTEFHUz0iJEVYVFJBX0NGTEFHUyAkVVNCX0NGTEFHUyIKKyAgICAgICAgICAgICBFWFRSQV9MREZMQUdTPSIkRVhUUkFfTERGTEFHUyAkVVNCX0xJQlMiCitAQCAtMjI4OSw3ICsyMjg5LDcgQEAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWNsb2NrX2dldHRpbWVdLAorICAgICBpZiB0ZXN0IHgkZW5hYmxlX2Nsb2NrX2dldHRpbWUgPSB4eWVzOyB0aGVuCisgICAgICAgICBBQ19DSEVDS19MSUIocnQsIGNsb2NrX2dldHRpbWUsIGhhdmVfY2xvY2tfZ2V0dGltZT15ZXMpCisgICAgICAgICBpZiB0ZXN0IHgkaGF2ZV9jbG9ja19nZXR0aW1lID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShIQVZFX0NMT0NLX0dFVFRJTUUpCisrICAgICAgICAgICAgQUNfREVGSU5FKEhBVkVfQ0xPQ0tfR0VUVElNRSwxLCIiKQorICAgICAgICAgICAgIEVYVFJBX0xERkxBR1M9IiRFWFRSQV9MREZMQUdTIC1scnQiCisgICAgICAgICBmaQorICAgICBmaQorQEAgLTIzMjAsNyArMjMyMCw3IEBAIGNhc2UgIiRob3N0IiBpbgorICAgICAgICAgQ2hlY2tJUG9kCisgICAgICAgICAjIFNldCB1cCBmaWxlcyBmb3IgdGhlIHRpbWVyIGxpYnJhcnkKKyAgICAgICAgIGlmIHRlc3QgeCRlbmFibGVfdGltZXJzID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfVElNRVJfVU5JWCkKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1RJTUVSX1VOSVgsMSwiIikKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy90aW1lci91bml4LyouYyIKKyAgICAgICAgICAgICBoYXZlX3RpbWVycz15ZXMKKyAgICAgICAgIGZpCitAQCAtMjM4NiwxNyArMjM4NiwxNyBAQCBjYXNlICIkaG9zdCIgaW4KKyAgICAgICAgIGlmIHRlc3QgeCRlbmFibGVfYXVkaW8gPSB4eWVzOyB0aGVuCisgICAgICAgICAgIGNhc2UgJEFSQ0ggaW4KKyAgICAgICAgICAgICBzeXN2NXxzb2xhcmlzfGhwdXgpCistICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfQVVESU9fRFJJVkVSX1NVTkFVRElPKQorKyAgICAgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0FVRElPX0RSSVZFUl9TVU5BVURJTywxLCIiKQorICAgICAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy9hdWRpby9zdW4vKi5jIgorICAgICAgICAgICAgICAgICBoYXZlX2F1ZGlvPXllcworICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAgbmV0YnNkfG9wZW5ic2QpCistICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfQVVESU9fRFJJVkVSX0JTRCkKKysgICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9BVURJT19EUklWRVJfQlNELDEsIiIpCisgICAgICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2F1ZGlvL2JzZC8qLmMiCisgICAgICAgICAgICAgICAgIGhhdmVfYXVkaW89eWVzCisgICAgICAgICAgICAgOzsKKyAgICAgICAgICAgICBhaXgpCistICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfQVVESU9fRFJJVkVSX1BBVUQpCisrICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfQVVESU9fRFJJVkVSX1BBVUQsMSwiIikKKyAgICAgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvYXVkaW8vcGF1ZGlvLyouYyIKKyAgICAgICAgICAgICAgICAgaGF2ZV9hdWRpbz15ZXMKKyAgICAgICAgICAgICA7OworQEAgLTI0MDYsNyArMjQwNiw3IEBAIGNhc2UgIiRob3N0IiBpbgorICAgICAgICAgaWYgdGVzdCB4JGVuYWJsZV9qb3lzdGljayA9IHh5ZXM7IHRoZW4KKyAgICAgICAgICAgY2FzZSAkQVJDSCBpbgorICAgICAgICAgICAgIGxpbnV4KQorLSAgICAgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0pPWVNUSUNLX0xJTlVYKQorKyAgICAgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0pPWVNUSUNLX0xJTlVYLDEsIiIpCisgICAgICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2pveXN0aWNrL2xpbnV4LyouYyIKKyAgICAgICAgICAgICAgICAgaGF2ZV9qb3lzdGljaz15ZXMKKyAgICAgICAgICAgICA7OworQEAgLTI0MTYsMzIgKzI0MTYsMzIgQEAgY2FzZSAiJGhvc3QiIGluCisgICAgICAgICBpZiB0ZXN0IHgkZW5hYmxlX2Nkcm9tID0geHllczsgdGhlbgorICAgICAgICAgICBjYXNlICRBUkNIIGluCisgICAgICAgICAgICAgbGludXh8c29sYXJpcykKKy0gICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9DRFJPTV9MSU5VWCkKKysgICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9DRFJPTV9MSU5VWCwxLCIiKQorICAgICAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy9jZHJvbS9saW51eC8qLmMiCisgICAgICAgICAgICAgICAgIGhhdmVfY2Ryb209eWVzCisgICAgICAgICAgICAgOzsKKyAgICAgICAgICAgICAqZnJlZWJzZCopCistICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfQ0RST01fRlJFRUJTRCkKKysgICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9DRFJPTV9GUkVFQlNELDEsIiIpCisgICAgICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2Nkcm9tL2ZyZWVic2QvKi5jIgorICAgICAgICAgICAgICAgICBoYXZlX2Nkcm9tPXllcworICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAgKm9wZW5ic2QqfCpuZXRic2QqKQorLSAgICAgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0NEUk9NX09QRU5CU0QpCisrICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfQ0RST01fT1BFTkJTRCwxLCIiKQorICAgICAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy9jZHJvbS9vcGVuYnNkLyouYyIKKyAgICAgICAgICAgICAgICAgaGF2ZV9jZHJvbT15ZXMKKyAgICAgICAgICAgICA7OworICAgICAgICAgICAgIGJzZGkpCistICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfQ0RST01fQlNESSkKKysgICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9DRFJPTV9CU0RJLDEsIiIpCisgICAgICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2Nkcm9tL2JzZGkvKi5jIgorICAgICAgICAgICAgICAgICBoYXZlX2Nkcm9tPXllcworICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAgYWl4KQorLSAgICAgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0NEUk9NX0FJWCkKKysgICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9DRFJPTV9BSVgsMSwiIikKKyAgICAgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvY2Ryb20vYWl4LyouYyIKKyAgICAgICAgICAgICAgICAgaGF2ZV9jZHJvbT15ZXMKKyAgICAgICAgICAgICA7OworICAgICAgICAgICAgIG9zZikKKy0gICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9DRFJPTV9PU0YpCisrICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfQ0RST01fT1NGLDEsIiIpCisgICAgICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2Nkcm9tL29zZi8qLmMiCisgICAgICAgICAgICAgICAgIGhhdmVfY2Ryb209eWVzCisgICAgICAgICAgICAgOzsKK0BAIC0yNDQ5LDcgKzI0NDksNyBAQCBjYXNlICIkaG9zdCIgaW4KKyAgICAgICAgIGZpCisgICAgICAgICAjIFNldCB1cCBmaWxlcyBmb3IgdGhlIHRocmVhZCBsaWJyYXJ5CisgICAgICAgICBpZiB0ZXN0IHgkZW5hYmxlX3RocmVhZHMgPSB4eWVzIC1hIHgkdXNlX3B0aHJlYWRzICE9IHh5ZXMgLWEgeCR1c2VfcHRoICE9IHh5ZXMgLWEgeCRBUkNIID0geGlyaXg7IHRoZW4KKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1RIUkVBRF9TUFJPQykKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1RIUkVBRF9TUFJPQywxLCIiKQorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL3RocmVhZC9pcml4LyouYyIKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy90aHJlYWQvZ2VuZXJpYy9TRExfc3lzbXV0ZXguYyIKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy90aHJlYWQvZ2VuZXJpYy9TRExfc3lzY29uZC5jIgorQEAgLTI0NTcsNyArMjQ1Nyw3IEBAIGNhc2UgIiRob3N0IiBpbgorICAgICAgICAgZmkKKyAgICAgICAgICMgU2V0IHVwIGZpbGVzIGZvciB0aGUgdGltZXIgbGlicmFyeQorICAgICAgICAgaWYgdGVzdCB4JGVuYWJsZV90aW1lcnMgPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9USU1FUl9VTklYKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfVElNRVJfVU5JWCwxLCIiKQorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL3RpbWVyL3VuaXgvKi5jIgorICAgICAgICAgICAgIGhhdmVfdGltZXJzPXllcworICAgICAgICAgZmkKK0BAIC0yNDc2LDIwICsyNDc2LDIwIEBAIGNhc2UgIiRob3N0IiBpbgorICAgICAgICAgQ2hlY2tQVEhSRUFECisgICAgICAgICAjIFNldCB1cCBmaWxlcyBmb3IgdGhlIGF1ZGlvIGxpYnJhcnkKKyAgICAgICAgIGlmIHRlc3QgeCRlbmFibGVfYXVkaW8gPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9BVURJT19EUklWRVJfUU5YTlRPKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfQVVESU9fRFJJVkVSX1FOWE5UTywxLCIiKQorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2F1ZGlvL250by8qLmMiCisgICAgICAgICAgICAgRVhUUkFfTERGTEFHUz0iJEVYVFJBX0xERkxBR1MgLWxhc291bmQiCisgICAgICAgICAgICAgaGF2ZV9hdWRpbz15ZXMKKyAgICAgICAgIGZpCisgICAgICAgICAjIFNldCB1cCBmaWxlcyBmb3IgdGhlIGNkcm9tIGxpYnJhcnkKKyAgICAgICAgIGlmIHRlc3QgeCRlbmFibGVfY2Ryb20gPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9DRFJPTV9RTlgpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9DRFJPTV9RTlgsMSwiIikKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy9jZHJvbS9xbngvKi5jIgorICAgICAgICAgICAgIGhhdmVfY2Ryb209eWVzCisgICAgICAgICBmaQorICAgICAgICAgIyBTZXQgdXAgZmlsZXMgZm9yIHRoZSB0aW1lciBsaWJyYXJ5CisgICAgICAgICBpZiB0ZXN0IHgkZW5hYmxlX3RpbWVycyA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1RJTUVSX1VOSVgpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9USU1FUl9VTklYLDEsIiIpCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvdGltZXIvdW5peC8qLmMiCisgICAgICAgICAgICAgaGF2ZV90aW1lcnM9eWVzCisgICAgICAgICBmaQorQEAgLTI1MTQsMjkgKzI1MTQsMjkgQEAgY2FzZSAiJGhvc3QiIGluCisgICAgICAgICBDaGVja05BU00KKyAgICAgICAgICMgU2V0IHVwIGZpbGVzIGZvciB0aGUgYXVkaW8gbGlicmFyeQorICAgICAgICAgaWYgdGVzdCB4JGVuYWJsZV9hdWRpbyA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0FVRElPX0RSSVZFUl9XQVZFT1VUKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfQVVESU9fRFJJVkVSX1dBVkVPVVQsMSwiIikKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy9hdWRpby93aW5kaWIvKi5jIgorICAgICAgICAgICAgIGlmIHRlc3QgeCRoYXZlX2RpcmVjdHggPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfQVVESU9fRFJJVkVSX0RTT1VORCkKKysgICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9BVURJT19EUklWRVJfRFNPVU5ELDEsIiIpCisgICAgICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2F1ZGlvL3dpbmR4NS8qLmMiCisgICAgICAgICAgICAgZmkKKyAgICAgICAgICAgICBoYXZlX2F1ZGlvPXllcworICAgICAgICAgZmkKKyAgICAgICAgICMgU2V0IHVwIGZpbGVzIGZvciB0aGUgam95c3RpY2sgbGlicmFyeQorICAgICAgICAgaWYgdGVzdCB4JGVuYWJsZV9qb3lzdGljayA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0pPWVNUSUNLX1dJTk1NKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfSk9ZU1RJQ0tfV0lOTU0sMSwiIikKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy9qb3lzdGljay93aW4zMi8qLmMiCisgICAgICAgICAgICAgaGF2ZV9qb3lzdGljaz15ZXMKKyAgICAgICAgIGZpCisgICAgICAgICAjIFNldCB1cCBmaWxlcyBmb3IgdGhlIGNkcm9tIGxpYnJhcnkKKyAgICAgICAgIGlmIHRlc3QgeCRlbmFibGVfY2Ryb20gPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9DRFJPTV9XSU4zMikKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0NEUk9NX1dJTjMyLDEsIiIpCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvY2Ryb20vd2luMzIvKi5jIgorICAgICAgICAgICAgIGhhdmVfY2Ryb209eWVzCisgICAgICAgICBmaQorICAgICAgICAgIyBTZXQgdXAgZmlsZXMgZm9yIHRoZSB0aHJlYWQgbGlicmFyeQorICAgICAgICAgaWYgdGVzdCB4JGVuYWJsZV90aHJlYWRzID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfVEhSRUFEX1dJTjMyKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfVEhSRUFEX1dJTjMyLDEsIiIpCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvdGhyZWFkL3dpbjMyL1NETF9zeXNtdXRleC5jIgorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL3RocmVhZC93aW4zMi9TRExfc3lzc2VtLmMiCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvdGhyZWFkL3dpbjMyL1NETF9zeXN0aHJlYWQuYyIKK0BAIC0yNTQ1LDEzICsyNTQ1LDEzIEBAIGNhc2UgIiRob3N0IiBpbgorICAgICAgICAgZmkKKyAgICAgICAgICMgU2V0IHVwIGZpbGVzIGZvciB0aGUgdGltZXIgbGlicmFyeQorICAgICAgICAgaWYgdGVzdCB4JGVuYWJsZV90aW1lcnMgPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9USU1FUl9XSU4zMikKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1RJTUVSX1dJTjMyLDEsIiIpCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvdGltZXIvd2luMzIvKi5jIgorICAgICAgICAgICAgIGhhdmVfdGltZXJzPXllcworICAgICAgICAgZmkKKyAgICAgICAgICMgU2V0IHVwIGZpbGVzIGZvciB0aGUgc2hhcmVkIG9iamVjdCBsb2FkaW5nIGxpYnJhcnkKKyAgICAgICAgIGlmIHRlc3QgeCRlbmFibGVfbG9hZHNvID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfTE9BRFNPX1dJTjMyKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfTE9BRFNPX1dJTjMyLDEsIiIpCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvbG9hZHNvL3dpbjMyLyouYyIKKyAgICAgICAgICAgICBoYXZlX2xvYWRzbz15ZXMKKyAgICAgICAgIGZpCitAQCAtMjYyMiwyNSArMjYyMiwyNSBAQCBjYXNlICIkaG9zdCIgaW4KKyAgICAgICAgIENoZWNrQmVHTAorICAgICAgICAgIyBTZXQgdXAgZmlsZXMgZm9yIHRoZSBhdWRpbyBsaWJyYXJ5CisgICAgICAgICBpZiB0ZXN0IHgkZW5hYmxlX2F1ZGlvID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfQVVESU9fRFJJVkVSX0JBVURJTykKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0FVRElPX0RSSVZFUl9CQVVESU8sMSwiIikKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy9hdWRpby9iYXVkaW8vKi5jYyIKKyAgICAgICAgICAgICBoYXZlX2F1ZGlvPXllcworICAgICAgICAgZmkKKyAgICAgICAgICMgU2V0IHVwIGZpbGVzIGZvciB0aGUgam95c3RpY2sgbGlicmFyeQorICAgICAgICAgaWYgdGVzdCB4JGVuYWJsZV9qb3lzdGljayA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0pPWVNUSUNLX0JFT1MpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9KT1lTVElDS19CRU9TLDEsIiIpCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvam95c3RpY2svYmVvcy8qLmNjIgorICAgICAgICAgICAgIGhhdmVfam95c3RpY2s9eWVzCisgICAgICAgICBmaQorICAgICAgICAgIyBTZXQgdXAgZmlsZXMgZm9yIHRoZSBjZHJvbSBsaWJyYXJ5CisgICAgICAgICBpZiB0ZXN0IHgkZW5hYmxlX2Nkcm9tID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfQ0RST01fQkVPUykKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0NEUk9NX0JFT1MsMSwiIikKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy9jZHJvbS9iZW9zLyouY2MiCisgICAgICAgICAgICAgaGF2ZV9jZHJvbT15ZXMKKyAgICAgICAgIGZpCisgICAgICAgICAjIFNldCB1cCBmaWxlcyBmb3IgdGhlIHRocmVhZCBsaWJyYXJ5CisgICAgICAgICBpZiB0ZXN0IHgkZW5hYmxlX3RocmVhZHMgPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9USFJFQURfQkVPUykKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1RIUkVBRF9CRU9TLDEsIiIpCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvdGhyZWFkL2Jlb3MvKi5jIgorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL3RocmVhZC9nZW5lcmljL1NETF9zeXNtdXRleC5jIgorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL3RocmVhZC9nZW5lcmljL1NETF9zeXNjb25kLmMiCitAQCAtMjY0OCw3ICsyNjQ4LDcgQEAgY2FzZSAiJGhvc3QiIGluCisgICAgICAgICBmaQorICAgICAgICAgIyBTZXQgdXAgZmlsZXMgZm9yIHRoZSB0aW1lciBsaWJyYXJ5CisgICAgICAgICBpZiB0ZXN0IHgkZW5hYmxlX3RpbWVycyA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1RJTUVSX0JFT1MpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9USU1FUl9CRU9TLDEsIiIpCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvdGltZXIvYmVvcy8qLmMiCisgICAgICAgICAgICAgaGF2ZV90aW1lcnM9eWVzCisgICAgICAgICBmaQorQEAgLTI2NTYsMTEgKzI2NTYsMTEgQEAgY2FzZSAiJGhvc3QiIGluCisgICAgICAgICBpZiB0ZXN0IHgkZW5hYmxlX2xvYWRzbyA9IHh5ZXM7IHRoZW4KKyAgICAgICAgICAgICBjYXNlICIkaG9zdCIgaW4KKyAgICAgICAgICAgICAgICAgKi0qLWJlb3MqKQorLSAgICAgICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9MT0FEU09fQkVPUykKKysgICAgICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfTE9BRFNPX0JFT1MsMSwiIikKKyAgICAgICAgICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2xvYWRzby9iZW9zLyouYyIKKyAgICAgICAgICAgICAgICAgOzsKKyAgICAgICAgICAgICAgICAgKi0qLWhhaWt1KikKKy0gICAgICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfTE9BRFNPX0RMT1BFTikKKysgICAgICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfTE9BRFNPX0RMT1BFTiwxLCIiKQorICAgICAgICAgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvbG9hZHNvL2Rsb3Blbi8qLmMiCisgICAgICAgICAgICAgICAgIDs7CisgICAgICAgICAgICAgZXNhYyAgICAKK0BAIC0yNjk2LDcgKzI2OTYsNyBAQCBjYXNlICIkaG9zdCIgaW4KKyAgICAgICAgICMgU2V0IHVwIGZpbGVzIGZvciB0aGUgc2hhcmVkIG9iamVjdCBsb2FkaW5nIGxpYnJhcnkKKyAgICAgICAgICMgKHRoaXMgbmVlZHMgdG8gYmUgZG9uZSBiZWZvcmUgdGhlIGR5bmFtaWMgWDExIGNoZWNrKQorICAgICAgICAgaWYgdGVzdCB4JGVuYWJsZV9sb2Fkc28gPSB4eWVzIC1hIHgkaGF2ZV9kbG9wZW4gIT0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfTE9BRFNPX0RMQ09NUEFUKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfTE9BRFNPX0RMQ09NUEFULDEsIiIpCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvbG9hZHNvL21hY29zeC8qLmMiCisgICAgICAgICAgICAgaGF2ZV9sb2Fkc289eWVzCisgICAgICAgICBmaQorQEAgLTI3MTQsMjYgKzI3MTQsMjYgQEAgY2FzZSAiJGhvc3QiIGluCisgCisgICAgICAgICAjIFNldCB1cCBmaWxlcyBmb3IgdGhlIGF1ZGlvIGxpYnJhcnkKKyAgICAgICAgIGlmIHRlc3QgeCRlbmFibGVfYXVkaW8gPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9BVURJT19EUklWRVJfQ09SRUFVRElPKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfQVVESU9fRFJJVkVSX0NPUkVBVURJTywxLCIiKQorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2F1ZGlvL21hY29zeC8qLmMiCisgICAgICAgICAgICAgaGF2ZV9hdWRpbz15ZXMKKyAgICAgICAgIGZpCisgICAgICAgICAjIFNldCB1cCBmaWxlcyBmb3IgdGhlIGpveXN0aWNrIGxpYnJhcnkKKyAgICAgICAgIGlmIHRlc3QgeCRlbmFibGVfam95c3RpY2sgPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9KT1lTVElDS19JT0tJVCkKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0pPWVNUSUNLX0lPS0lULDEsIiIpCisgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvam95c3RpY2svZGFyd2luLyouYyIKKyAgICAgICAgICAgICBoYXZlX2pveXN0aWNrPXllcworICAgICAgICAgICAgIG5lZWRfaW9raXRfZnJhbWV3b3JrPXllcworICAgICAgICAgZmkKKyAgICAgICAgICMgU2V0IHVwIGZpbGVzIGZvciB0aGUgY2Ryb20gbGlicmFyeQorICAgICAgICAgaWYgdGVzdCB4JGVuYWJsZV9jZHJvbSA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0NEUk9NX01BQ09TWCkKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0NEUk9NX01BQ09TWCwxLCIiKQorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2Nkcm9tL21hY29zeC8qLmMiCisgICAgICAgICAgICAgaGF2ZV9jZHJvbT15ZXMKKyAgICAgICAgIGZpCisgICAgICAgICAjIFNldCB1cCBmaWxlcyBmb3IgdGhlIHRpbWVyIGxpYnJhcnkKKyAgICAgICAgIGlmIHRlc3QgeCRlbmFibGVfdGltZXJzID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfVElNRVJfVU5JWCkKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1RJTUVSX1VOSVgsMSwiIikKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy90aW1lci91bml4LyouYyIKKyAgICAgICAgICAgICBoYXZlX3RpbWVycz15ZXMKKyAgICAgICAgIGZpCitAQCAtMjc3NSwzMCArMjc3NSwzMCBAQCBjYXNlICIkaG9zdCIgaW4KKyAgICAgICAgICMgU2V0IHVwIGZpbGVzIGZvciB0aGUgYXVkaW8gbGlicmFyeQorICAgICAgICAgaWYgdGVzdCB4JGVuYWJsZV90aHJlYWRzID0geHllcyAtYSB4JGVuYWJsZV9wdGggPSB4eWVzOyB0aGVuCisgICAgICAgICAgICAgaWYgdGVzdCB4JGVuYWJsZV9hdWRpbyA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9BVURJT19EUklWRVJfU1VOQVVESU8pCisrICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfQVVESU9fRFJJVkVSX1NVTkFVRElPLDEsIiIpCisgICAgICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2F1ZGlvL3N1bi8qLmMiCisgICAgICAgICAgICAgICAgIGhhdmVfYXVkaW89eWVzCisgICAgICAgICAgICAgZmkKKyAgICAgICAgIGZpCisgICAgICAgICAjIFNldCB1cCBmaWxlcyBmb3IgdGhlIGpveXN0aWNrIGxpYnJhcnkKKyAgICAgICAgIGlmIHRlc3QgeCRlbmFibGVfam95c3RpY2sgPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9KT1lTVElDS19NSU5UKQorKyAgICAgICAgICAgIEFDX0RFRklORShTRExfSk9ZU1RJQ0tfTUlOVCwxLCIiKQorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2pveXN0aWNrL21pbnQvKi5jIgorICAgICAgICAgICAgIGhhdmVfam95c3RpY2s9eWVzCisgICAgICAgICBmaQorICAgICAgICAgIyBTZXQgdXAgZmlsZXMgZm9yIHRoZSBjZHJvbSBsaWJyYXJ5CisgICAgICAgICBpZiB0ZXN0IHgkZW5hYmxlX2Nkcm9tID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfQ0RST01fTUlOVCkKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX0NEUk9NX01JTlQsMSwiIikKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy9jZHJvbS9taW50LyouYyIKKyAgICAgICAgICAgICBoYXZlX2Nkcm9tPXllcworICAgICAgICAgZmkKKyAgICAgICAgICMgU2V0IHVwIGZpbGVzIGZvciB0aGUgdGltZXIgbGlicmFyeQorICAgICAgICAgaWYgdGVzdCB4JGVuYWJsZV90aW1lcnMgPSB4eWVzOyB0aGVuCisgICAgICAgICAgICAgaWYgdGVzdCB4JGVuYWJsZV90aHJlYWRzID0geHllcyAtYSB4JGVuYWJsZV9wdGggPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgICAgIEFDX0RFRklORShTRExfVElNRVJfVU5JWCkKKysgICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9USU1FUl9VTklYLDEsIiIpCisgICAgICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL3RpbWVyL3VuaXgvKi5jIgorICAgICAgICAgICAgIGVsc2UKKy0gICAgICAgICAgICAgICAgQUNfREVGSU5FKFNETF9USU1FUl9NSU5UKQorKyAgICAgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1RJTUVSX01JTiwxLCIiVCkKKyAgICAgICAgICAgICAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvdGltZXIvbWludC8qLmMiCisgICAgICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL3RpbWVyL21pbnQvKi5TIgorICAgICAgICAgICAgIGZpCitAQCAtMjgxMSwyMCArMjgxMSwyMCBAQCBjYXNlICIkaG9zdCIgaW4KKyAgICAgICAgIENoZWNrUFRIUkVBRAorICAgICAgICAgIyBTZXQgdXAgZmlsZXMgZm9yIHRoZSB2aWRlbyBsaWJyYXJ5CisgICAgICAgICBpZiB0ZXN0IHgkZW5hYmxlX3ZpZGVvID0geHllczsgdGhlbgorLSAgICAgICAgICAgIEFDX0RFRklORShTRExfVklERU9fRFJJVkVSX1JJU0NPUykKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1ZJREVPX0RSSVZFUl9SSVNDT1MsMSwiIikKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy92aWRlby9yaXNjb3MvKi5jIgorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL3ZpZGVvL3Jpc2Nvcy8qLlMiCisgICAgICAgICAgICAgaGF2ZV92aWRlbz15ZXMKKyAgICAgICAgIGZpCisgICAgICAgICAjIFNldCB1cCBmaWxlcyBmb3IgdGhlIGpveXN0aWNrIGxpYnJhcnkKKyAgICAgICAgIGlmIHRlc3QgeCRlbmFibGVfam95c3RpY2sgPSB4eWVzOyB0aGVuCistICAgICAgICAgICAgQUNfREVGSU5FKFNETF9KT1lTVElDS19SSVNDT1MpCisrICAgICAgICAgICAgQUNfREVGSU5FKFNETF9KT1lTVElDS19SSVNDT1MsMSwiIikKKyAgICAgICAgICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy9qb3lzdGljay9yaXNjb3MvKi5jIgorICAgICAgICAgICAgIGhhdmVfam95c3RpY2s9eWVzCisgICAgICAgICBmaQorICAgICAgICAgIyBTZXQgdXAgZmlsZXMgZm9yIHRoZSB0aW1lciBsaWJyYXJ5CisgICAgICAgICBpZiB0ZXN0IHgkZW5hYmxlX3RpbWVycyA9IHh5ZXM7IHRoZW4KKy0gICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1RJTUVSX1JJU0NPUykKKysgICAgICAgICAgICBBQ19ERUZJTkUoU0RMX1RJTUVSX1JJU0NPUywxLCIiKQorICAgICAgICAgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL3RpbWVyL3Jpc2Nvcy8qLmMiCisgICAgICAgICAgICAgaGF2ZV90aW1lcnM9eWVzCisgICAgICAgICBmaQorQEAgLTI4NDYsMzEgKzI4NDYsMzEgQEAgQ2hlY2tXYXJuQWxsCisgaWYgdGVzdCB4JGVuYWJsZV9qb3lzdGljayA9IHh5ZXM7IHRoZW4KKyAgIGlmIHRlc3QgeCRoYXZlX2pveXN0aWNrICE9IHh5ZXM7IHRoZW4KKyAgICAgIyBXYW50cyBqb3lzdGljayBzdWJzeXN0ZW0sIGJ1dCBkb2Vzbid0IGhhdmUgYSBwbGF0Zm9ybS1zcGVjaWZpYyBiYWNrZW5kLi4uCistICAgIEFDX0RFRklORShTRExfSk9ZU1RJQ0tfRFVNTVkpCisrICAgIEFDX0RFRklORShTRExfSk9ZU1RJQ0tfRFVNTVksMSwiIikKKyAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvam95c3RpY2svZHVtbXkvKi5jIgorICAgZmkKKyBmaQorIGlmIHRlc3QgeCRoYXZlX2Nkcm9tICE9IHh5ZXM7IHRoZW4KKyAgICAgaWYgdGVzdCB4JGVuYWJsZV9jZHJvbSA9IHh5ZXM7IHRoZW4KKy0gICAgICAgIEFDX0RFRklORShTRExfQ0RST01fRElTQUJMRUQpCisrICAgICAgICBBQ19ERUZJTkUoU0RMX0NEUk9NX0RJU0FCTEVELDEsIiIpCisgICAgIGZpCisgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL2Nkcm9tL2R1bW15LyouYyIKKyBmaQorIGlmIHRlc3QgeCRoYXZlX3RocmVhZHMgIT0geHllczsgdGhlbgorICAgICBpZiB0ZXN0IHgkZW5hYmxlX3RocmVhZHMgPSB4eWVzOyB0aGVuCistICAgICAgICBBQ19ERUZJTkUoU0RMX1RIUkVBRFNfRElTQUJMRUQpCisrICAgICAgICBBQ19ERUZJTkUoU0RMX1RIUkVBRFNfRElTQUJMRUQsMSwiIikKKyAgICAgZmkKKyAgICAgU09VUkNFUz0iJFNPVVJDRVMgJHNyY2Rpci9zcmMvdGhyZWFkL2dlbmVyaWMvKi5jIgorIGZpCisgaWYgdGVzdCB4JGhhdmVfdGltZXJzICE9IHh5ZXM7IHRoZW4KKyAgICAgaWYgdGVzdCB4JGVuYWJsZV90aW1lcnMgPSB4eWVzOyB0aGVuCistICAgICAgICBBQ19ERUZJTkUoU0RMX1RJTUVSU19ESVNBQkxFRCkKKysgICAgICAgIEFDX0RFRklORShTRExfVElNRVJTX0RJU0FCTEVELDEsIiIpCisgICAgIGZpCisgICAgIFNPVVJDRVM9IiRTT1VSQ0VTICRzcmNkaXIvc3JjL3RpbWVyL2R1bW15LyouYyIKKyBmaQorIGlmIHRlc3QgeCRoYXZlX2xvYWRzbyAhPSB4eWVzOyB0aGVuCisgICAgIGlmIHRlc3QgeCRlbmFibGVfbG9hZHNvID0geHllczsgdGhlbgorLSAgICAgICAgQUNfREVGSU5FKFNETF9MT0FEU09fRElTQUJMRUQpCisrICAgICAgICBBQ19ERUZJTkUoU0RMX0xPQURTT19ESVNBQkxFRCwxLCIiKQorICAgICBmaQorICAgICBTT1VSQ0VTPSIkU09VUkNFUyAkc3JjZGlyL3NyYy9sb2Fkc28vZHVtbXkvKi5jIgorIGZpCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2RsL2xpYnNkbC0xLjIuMTUvbGlic2RsLTEuMi4xNS14ZGF0YTMyLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNkbC9saWJzZGwtMS4yLjE1L2xpYnNkbC0xLjIuMTUteGRhdGEzMi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOThiOTI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNkbC9saWJzZGwtMS4yLjE1L2xpYnNkbC0xLjIuMTUteGRhdGEzMi5wYXRjaApAQCAtMCwwICsxLDE5IEBACitsaWJYMTEtMS41Ljk5LjkwMSBoYXMgY2hhbmdlZCBwcm90b3R5cGUgb2YgX1hEYXRhMzIKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorPGh0dHA6Ly9idWd6aWxsYS5saWJzZGwub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzY5PgorCitTaWduZWQtb2ZmLWJ5OiBTYXVsIFdvbGQgPHNnd0BsaW51eC5pbnRlbC5jb20+CisKK2RpZmYgLXIgYjZiMjgyOWNkN2VmIHNyYy92aWRlby94MTEvU0RMX3gxMXN5bS5oCistLS0gYS9zcmMvdmlkZW8veDExL1NETF94MTFzeW0uaAlXZWQgRmViIDI3IDE1OjIwOjMxIDIwMTMgLTA4MDAKKysrKyBiL3NyYy92aWRlby94MTEvU0RMX3gxMXN5bS5oCVdlZCBNYXIgMjcgMTY6MDc6MjMgMjAxMyArMDEwMAorQEAgLTE2NSw3ICsxNjUsNyBAQAorICAqLworICNpZmRlZiBMT05HNjQKKyBTRExfWDExX01PRFVMRShJT18zMkJJVCkKKy1TRExfWDExX1NZTShpbnQsX1hEYXRhMzIsKERpc3BsYXkgKmRweSxyZWdpc3RlciBsb25nICpkYXRhLHVuc2lnbmVkIGxlbiksKGRweSxkYXRhLGxlbikscmV0dXJuKQorK1NETF9YMTFfU1lNKGludCxfWERhdGEzMiwoRGlzcGxheSAqZHB5LHJlZ2lzdGVyIF9YY29uc3QgbG9uZyAqZGF0YSx1bnNpZ25lZCBsZW4pLChkcHksZGF0YSxsZW4pLHJldHVybikKKyBTRExfWDExX1NZTSh2b2lkLF9YUmVhZDMyLChEaXNwbGF5ICpkcHkscmVnaXN0ZXIgbG9uZyAqZGF0YSxsb25nIGxlbiksKGRweSxkYXRhLGxlbiksKQorICNlbmRpZgorCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2RsL2xpYnNkbC0xLjIuMTUvcGtnY29uZmlnLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNkbC9saWJzZGwtMS4yLjE1L3BrZ2NvbmZpZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTNiYWE5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNkbC9saWJzZGwtMS4yLjE1L3BrZ2NvbmZpZy5wYXRjaApAQCAtMCwwICsxLDE4NyBAQAorUmF0aGVyIHRoYW4gY29kZSB3aGljaCBkb2Vzbid0IGV2ZW4gd29yayBwcm9wZXJseSB3aGVuIGNyb3NzIGNvbXBpbGluZywKK2xldHMganVzdCB1c2UgcGtnLWNvbmZpZyBpbnN0ZWFkLiBJdHMgYSBsaXR0bGUgc2ltcGxlci4KKworUlAgMjAxNC82LzIwCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitJbmRleDogU0RMLTEuMi4xNS9zZGwubTQKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBTREwtMS4yLjE1Lm9yaWcvc2RsLm00CisrKysgU0RMLTEuMi4xNS9zZGwubTQKK0BAIC0xMiwxNzQgKzEyLDggQEAgZG5sIFRlc3QgZm9yIFNETCwgYW5kIGRlZmluZSBTRExfQ0ZMQUdTCisgZG5sCisgQUNfREVGVU4oW0FNX1BBVEhfU0RMXSwKKyBbZG5sIAorLWRubCBHZXQgdGhlIGNmbGFncyBhbmQgbGlicmFyaWVzIGZyb20gdGhlIHNkbC1jb25maWcgc2NyaXB0CistZG5sCistQUNfQVJHX1dJVEgoc2RsLXByZWZpeCxbICAtLXdpdGgtc2RsLXByZWZpeD1QRlggICBQcmVmaXggd2hlcmUgU0RMIGlzIGluc3RhbGxlZCAob3B0aW9uYWwpXSwKKy0gICAgICAgICAgICBzZGxfcHJlZml4PSIkd2l0aHZhbCIsIHNkbF9wcmVmaXg9IiIpCistQUNfQVJHX1dJVEgoc2RsLWV4ZWMtcHJlZml4LFsgIC0td2l0aC1zZGwtZXhlYy1wcmVmaXg9UEZYIEV4ZWMgcHJlZml4IHdoZXJlIFNETCBpcyBpbnN0YWxsZWQgKG9wdGlvbmFsKV0sCistICAgICAgICAgICAgc2RsX2V4ZWNfcHJlZml4PSIkd2l0aHZhbCIsIHNkbF9leGVjX3ByZWZpeD0iIikKKy1BQ19BUkdfRU5BQkxFKHNkbHRlc3QsIFsgIC0tZGlzYWJsZS1zZGx0ZXN0ICAgICAgIERvIG5vdCB0cnkgdG8gY29tcGlsZSBhbmQgcnVuIGEgdGVzdCBTREwgcHJvZ3JhbV0sCistCQkgICAgLCBlbmFibGVfc2RsdGVzdD15ZXMpCistCistICBpZiB0ZXN0IHgkc2RsX2V4ZWNfcHJlZml4ICE9IHggOyB0aGVuCistICAgIHNkbF9jb25maWdfYXJncz0iJHNkbF9jb25maWdfYXJncyAtLWV4ZWMtcHJlZml4PSRzZGxfZXhlY19wcmVmaXgiCistICAgIGlmIHRlc3QgeCR7U0RMX0NPTkZJRytzZXR9ICE9IHhzZXQgOyB0aGVuCistICAgICAgU0RMX0NPTkZJRz0kc2RsX2V4ZWNfcHJlZml4L2Jpbi9zZGwtY29uZmlnCistICAgIGZpCistICBmaQorLSAgaWYgdGVzdCB4JHNkbF9wcmVmaXggIT0geCA7IHRoZW4KKy0gICAgc2RsX2NvbmZpZ19hcmdzPSIkc2RsX2NvbmZpZ19hcmdzIC0tcHJlZml4PSRzZGxfcHJlZml4IgorLSAgICBpZiB0ZXN0IHgke1NETF9DT05GSUcrc2V0fSAhPSB4c2V0IDsgdGhlbgorLSAgICAgIFNETF9DT05GSUc9JHNkbF9wcmVmaXgvYmluL3NkbC1jb25maWcKKy0gICAgZmkKKy0gIGZpCistCistICBhc19zYXZlX1BBVEg9IiRQQVRIIgorLSAgaWYgdGVzdCAieCRwcmVmaXgiICE9IHhOT05FOyB0aGVuCistICAgIFBBVEg9IiRwcmVmaXgvYmluOiRwcmVmaXgvdXNyL2JpbjokUEFUSCIKKy0gIGZpCistICBBQ19QQVRIX1BST0coU0RMX0NPTkZJRywgc2RsLWNvbmZpZywgbm8sIFskUEFUSF0pCistICBQQVRIPSIkYXNfc2F2ZV9QQVRIIgorICAgbWluX3NkbF92ZXJzaW9uPWlmZWxzZShbJDFdLCAsMC4xMS4wLCQxKQorLSAgQUNfTVNHX0NIRUNLSU5HKGZvciBTREwgLSB2ZXJzaW9uID49ICRtaW5fc2RsX3ZlcnNpb24pCistICBub19zZGw9IiIKKy0gIGlmIHRlc3QgIiRTRExfQ09ORklHIiA9ICJubyIgOyB0aGVuCistICAgIG5vX3NkbD15ZXMKKy0gIGVsc2UKKy0gICAgU0RMX0NGTEFHUz1gJFNETF9DT05GSUcgJHNkbF9jb25maWdfYXJncyAtLWNmbGFnc2AKKy0gICAgU0RMX0xJQlM9YCRTRExfQ09ORklHICRzZGxfY29uZmlnX2FyZ3MgLS1saWJzYAorLQorLSAgICBzZGxfbWFqb3JfdmVyc2lvbj1gJFNETF9DT05GSUcgJHNkbF9jb25maWdfYXJncyAtLXZlcnNpb24gfCBcCistICAgICAgICAgICBzZWQgJ3MvXChbWzAtOV1dKlwpLlwoW1swLTldXSpcKS5cKFtbMC05XV0qXCkvXDEvJ2AKKy0gICAgc2RsX21pbm9yX3ZlcnNpb249YCRTRExfQ09ORklHICRzZGxfY29uZmlnX2FyZ3MgLS12ZXJzaW9uIHwgXAorLSAgICAgICAgICAgc2VkICdzL1woW1swLTldXSpcKS5cKFtbMC05XV0qXCkuXChbWzAtOV1dKlwpL1wyLydgCistICAgIHNkbF9taWNyb192ZXJzaW9uPWAkU0RMX0NPTkZJRyAkc2RsX2NvbmZpZ19hcmdzIC0tdmVyc2lvbiB8IFwKKy0gICAgICAgICAgIHNlZCAncy9cKFtbMC05XV0qXCkuXChbWzAtOV1dKlwpLlwoW1swLTldXSpcKS9cMy8nYAorLSAgICBpZiB0ZXN0ICJ4JGVuYWJsZV9zZGx0ZXN0IiA9ICJ4eWVzIiA7IHRoZW4KKy0gICAgICBhY19zYXZlX0NGTEFHUz0iJENGTEFHUyIKKy0gICAgICBhY19zYXZlX0NYWEZMQUdTPSIkQ1hYRkxBR1MiCistICAgICAgYWNfc2F2ZV9MSUJTPSIkTElCUyIKKy0gICAgICBDRkxBR1M9IiRDRkxBR1MgJFNETF9DRkxBR1MiCistICAgICAgQ1hYRkxBR1M9IiRDWFhGTEFHUyAkU0RMX0NGTEFHUyIKKy0gICAgICBMSUJTPSIkTElCUyAkU0RMX0xJQlMiCistZG5sCistZG5sIE5vdyBjaGVjayBpZiB0aGUgaW5zdGFsbGVkIFNETCBpcyBzdWZmaWNpZW50bHkgbmV3LiAoQWxzbyBzYW5pdHkKKy1kbmwgY2hlY2tzIHRoZSByZXN1bHRzIG9mIHNkbC1jb25maWcgdG8gc29tZSBleHRlbnQKKy1kbmwKKy0gICAgICBybSAtZiBjb25mLnNkbHRlc3QKKy0gICAgICBBQ19UUllfUlVOKFsKKy0jaW5jbHVkZSA8c3RkaW8uaD4KKy0jaW5jbHVkZSA8c3RkbGliLmg+CistI2luY2x1ZGUgPHN0cmluZy5oPgorLSNpbmNsdWRlICJTREwuaCIKKy0KKy1jaGFyKgorLW15X3N0cmR1cCAoY2hhciAqc3RyKQorLXsKKy0gIGNoYXIgKm5ld19zdHI7CistICAKKy0gIGlmIChzdHIpCistICAgIHsKKy0gICAgICBuZXdfc3RyID0gKGNoYXIgKiltYWxsb2MgKChzdHJsZW4gKHN0cikgKyAxKSAqIHNpemVvZihjaGFyKSk7CistICAgICAgc3RyY3B5IChuZXdfc3RyLCBzdHIpOworLSAgICB9CistICBlbHNlCistICAgIG5ld19zdHIgPSBOVUxMOworLSAgCistICByZXR1cm4gbmV3X3N0cjsKKy19CistCistaW50IG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCisteworLSAgaW50IG1ham9yLCBtaW5vciwgbWljcm87CistICBjaGFyICp0bXBfdmVyc2lvbjsKKy0KKy0gIC8qIFRoaXMgaGFuZ3Mgb24gc29tZSBzeXN0ZW1zICg/KQorLSAgc3lzdGVtICgidG91Y2ggY29uZi5zZGx0ZXN0Iik7CistICAqLworLSAgeyBGSUxFICpmcCA9IGZvcGVuKCJjb25mLnNkbHRlc3QiLCAiYSIpOyBpZiAoIGZwICkgZmNsb3NlKGZwKTsgfQorLQorLSAgLyogSFAvVVggOSAoJUAjISkgd3JpdGVzIHRvIHNzY2FuZiBzdHJpbmdzICovCistICB0bXBfdmVyc2lvbiA9IG15X3N0cmR1cCgiJG1pbl9zZGxfdmVyc2lvbiIpOworLSAgaWYgKHNzY2FuZih0bXBfdmVyc2lvbiwgIiVkLiVkLiVkIiwgJm1ham9yLCAmbWlub3IsICZtaWNybykgIT0gMykgeworLSAgICAgcHJpbnRmKCIlcywgYmFkIHZlcnNpb24gc3RyaW5nXG4iLCAiJG1pbl9zZGxfdmVyc2lvbiIpOworLSAgICAgZXhpdCgxKTsKKy0gICB9CistCistICAgaWYgKCgkc2RsX21ham9yX3ZlcnNpb24gPiBtYWpvcikgfHwKKy0gICAgICAoKCRzZGxfbWFqb3JfdmVyc2lvbiA9PSBtYWpvcikgJiYgKCRzZGxfbWlub3JfdmVyc2lvbiA+IG1pbm9yKSkgfHwKKy0gICAgICAoKCRzZGxfbWFqb3JfdmVyc2lvbiA9PSBtYWpvcikgJiYgKCRzZGxfbWlub3JfdmVyc2lvbiA9PSBtaW5vcikgJiYgKCRzZGxfbWljcm9fdmVyc2lvbiA+PSBtaWNybykpKQorLSAgICB7CistICAgICAgcmV0dXJuIDA7CistICAgIH0KKy0gIGVsc2UKKy0gICAgeworLSAgICAgIHByaW50ZigiXG4qKiogJ3NkbC1jb25maWcgLS12ZXJzaW9uJyByZXR1cm5lZCAlZC4lZC4lZCwgYnV0IHRoZSBtaW5pbXVtIHZlcnNpb25cbiIsICRzZGxfbWFqb3JfdmVyc2lvbiwgJHNkbF9taW5vcl92ZXJzaW9uLCAkc2RsX21pY3JvX3ZlcnNpb24pOworLSAgICAgIHByaW50ZigiKioqIG9mIFNETCByZXF1aXJlZCBpcyAlZC4lZC4lZC4gSWYgc2RsLWNvbmZpZyBpcyBjb3JyZWN0LCB0aGVuIGl0IGlzXG4iLCBtYWpvciwgbWlub3IsIG1pY3JvKTsKKy0gICAgICBwcmludGYoIioqKiBiZXN0IHRvIHVwZ3JhZGUgdG8gdGhlIHJlcXVpcmVkIHZlcnNpb24uXG4iKTsKKy0gICAgICBwcmludGYoIioqKiBJZiBzZGwtY29uZmlnIHdhcyB3cm9uZywgc2V0IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBTRExfQ09ORklHXG4iKTsKKy0gICAgICBwcmludGYoIioqKiB0byBwb2ludCB0byB0aGUgY29ycmVjdCBjb3B5IG9mIHNkbC1jb25maWcsIGFuZCByZW1vdmUgdGhlIGZpbGVcbiIpOworLSAgICAgIHByaW50ZigiKioqIGNvbmZpZy5jYWNoZSBiZWZvcmUgcmUtcnVubmluZyBjb25maWd1cmVcbiIpOworLSAgICAgIHJldHVybiAxOworLSAgICB9CistfQorLQorLV0sLCBub19zZGw9eWVzLFtlY2hvICRhY19uICJjcm9zcyBjb21waWxpbmc7IGFzc3VtZWQgT0suLi4gJGFjX2MiXSkKKy0gICAgICAgQ0ZMQUdTPSIkYWNfc2F2ZV9DRkxBR1MiCistICAgICAgIENYWEZMQUdTPSIkYWNfc2F2ZV9DWFhGTEFHUyIKKy0gICAgICAgTElCUz0iJGFjX3NhdmVfTElCUyIKKy0gICAgIGZpCistICBmaQorLSAgaWYgdGVzdCAieCRub19zZGwiID0geCA7IHRoZW4KKy0gICAgIEFDX01TR19SRVNVTFQoeWVzKQorLSAgICAgaWZlbHNlKFskMl0sICwgOiwgWyQyXSkgICAgIAorLSAgZWxzZQorLSAgICAgQUNfTVNHX1JFU1VMVChubykKKy0gICAgIGlmIHRlc3QgIiRTRExfQ09ORklHIiA9ICJubyIgOyB0aGVuCistICAgICAgIGVjaG8gIioqKiBUaGUgc2RsLWNvbmZpZyBzY3JpcHQgaW5zdGFsbGVkIGJ5IFNETCBjb3VsZCBub3QgYmUgZm91bmQiCistICAgICAgIGVjaG8gIioqKiBJZiBTREwgd2FzIGluc3RhbGxlZCBpbiBQUkVGSVgsIG1ha2Ugc3VyZSBQUkVGSVgvYmluIGlzIGluIgorLSAgICAgICBlY2hvICIqKiogeW91ciBwYXRoLCBvciBzZXQgdGhlIFNETF9DT05GSUcgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gdGhlIgorLSAgICAgICBlY2hvICIqKiogZnVsbCBwYXRoIHRvIHNkbC1jb25maWcuIgorLSAgICAgZWxzZQorLSAgICAgICBpZiB0ZXN0IC1mIGNvbmYuc2RsdGVzdCA7IHRoZW4KKy0gICAgICAgIDoKKy0gICAgICAgZWxzZQorLSAgICAgICAgICBlY2hvICIqKiogQ291bGQgbm90IHJ1biBTREwgdGVzdCBwcm9ncmFtLCBjaGVja2luZyB3aHkuLi4iCistICAgICAgICAgIENGTEFHUz0iJENGTEFHUyAkU0RMX0NGTEFHUyIKKy0gICAgICAgICAgQ1hYRkxBR1M9IiRDWFhGTEFHUyAkU0RMX0NGTEFHUyIKKy0gICAgICAgICAgTElCUz0iJExJQlMgJFNETF9MSUJTIgorLSAgICAgICAgICBBQ19UUllfTElOSyhbCistI2luY2x1ZGUgPHN0ZGlvLmg+CistI2luY2x1ZGUgIlNETC5oIgorLQorLWludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisteyByZXR1cm4gMDsgfQorLSN1bmRlZiAgbWFpbgorLSNkZWZpbmUgbWFpbiBLX2FuZF9SX0NfbWFpbgorLV0sICAgICAgWyByZXR1cm4gMDsgXSwKKy0gICAgICAgIFsgZWNobyAiKioqIFRoZSB0ZXN0IHByb2dyYW0gY29tcGlsZWQsIGJ1dCBkaWQgbm90IHJ1bi4gVGhpcyB1c3VhbGx5IG1lYW5zIgorLSAgICAgICAgICBlY2hvICIqKiogdGhhdCB0aGUgcnVuLXRpbWUgbGlua2VyIGlzIG5vdCBmaW5kaW5nIFNETCBvciBmaW5kaW5nIHRoZSB3cm9uZyIKKy0gICAgICAgICAgZWNobyAiKioqIHZlcnNpb24gb2YgU0RMLiBJZiBpdCBpcyBub3QgZmluZGluZyBTREwsIHlvdSdsbCBuZWVkIHRvIHNldCB5b3VyIgorLSAgICAgICAgICBlY2hvICIqKiogTERfTElCUkFSWV9QQVRIIGVudmlyb25tZW50IHZhcmlhYmxlLCBvciBlZGl0IC9ldGMvbGQuc28uY29uZiB0byBwb2ludCIKKy0gICAgICAgICAgZWNobyAiKioqIHRvIHRoZSBpbnN0YWxsZWQgbG9jYXRpb24gIEFsc28sIG1ha2Ugc3VyZSB5b3UgaGF2ZSBydW4gbGRjb25maWcgaWYgdGhhdCIKKy0gICAgICAgICAgZWNobyAiKioqIGlzIHJlcXVpcmVkIG9uIHlvdXIgc3lzdGVtIgorLQkgIGVjaG8gIioqKiIKKy0gICAgICAgICAgZWNobyAiKioqIElmIHlvdSBoYXZlIGFuIG9sZCB2ZXJzaW9uIGluc3RhbGxlZCwgaXQgaXMgYmVzdCB0byByZW1vdmUgaXQsIGFsdGhvdWdoIgorLSAgICAgICAgICBlY2hvICIqKiogeW91IG1heSBhbHNvIGJlIGFibGUgdG8gZ2V0IHRoaW5ncyB0byB3b3JrIGJ5IG1vZGlmeWluZyBMRF9MSUJSQVJZX1BBVEgiXSwKKy0gICAgICAgIFsgZWNobyAiKioqIFRoZSB0ZXN0IHByb2dyYW0gZmFpbGVkIHRvIGNvbXBpbGUgb3IgbGluay4gU2VlIHRoZSBmaWxlIGNvbmZpZy5sb2cgZm9yIHRoZSIKKy0gICAgICAgICAgZWNobyAiKioqIGV4YWN0IGVycm9yIHRoYXQgb2NjdXJlZC4gVGhpcyB1c3VhbGx5IG1lYW5zIFNETCB3YXMgaW5jb3JyZWN0bHkgaW5zdGFsbGVkIgorLSAgICAgICAgICBlY2hvICIqKiogb3IgdGhhdCB5b3UgaGF2ZSBtb3ZlZCBTREwgc2luY2UgaXQgd2FzIGluc3RhbGxlZC4gSW4gdGhlIGxhdHRlciBjYXNlLCB5b3UiCistICAgICAgICAgIGVjaG8gIioqKiBtYXkgd2FudCB0byBlZGl0IHRoZSBzZGwtY29uZmlnIHNjcmlwdDogJFNETF9DT05GSUciIF0pCistICAgICAgICAgIENGTEFHUz0iJGFjX3NhdmVfQ0ZMQUdTIgorLSAgICAgICAgICBDWFhGTEFHUz0iJGFjX3NhdmVfQ1hYRkxBR1MiCistICAgICAgICAgIExJQlM9IiRhY19zYXZlX0xJQlMiCistICAgICAgIGZpCistICAgICBmaQorLSAgICAgU0RMX0NGTEFHUz0iIgorLSAgICAgU0RMX0xJQlM9IiIKKy0gICAgIGlmZWxzZShbJDNdLCAsIDosIFskM10pCistICBmaQorKyAgUEtHX0NIRUNLX01PRFVMRVMoW1NETF0sIFtzZGwgPj0gJG1pbl9zZGxfdmVyc2lvbl0pCisgICBBQ19TVUJTVChTRExfQ0ZMQUdTKQorICAgQUNfU1VCU1QoU0RMX0xJQlMpCistICBybSAtZiBjb25mLnNkbHRlc3QKKyBdKQpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNkbC9saWJzZGxfMS4yLjE1LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNkbC9saWJzZGxfMS4yLjE1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2NmJkNDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2RsL2xpYnNkbF8xLjIuMTUuYmIKQEAgLTAsMCArMSw2NyBAQAorU1VNTUFSWSA9ICJTaW1wbGUgRGlyZWN0TWVkaWEgTGF5ZXIiCitERVNDUklQVElPTiA9ICJTaW1wbGUgRGlyZWN0TWVkaWEgTGF5ZXIgaXMgYSBjcm9zcy1wbGF0Zm9ybSBtdWx0aW1lZGlhIFwKK2xpYnJhcnkgZGVzaWduZWQgdG8gcHJvdmlkZSBsb3cgbGV2ZWwgYWNjZXNzIHRvIGF1ZGlvLCBrZXlib2FyZCwgbW91c2UsIFwKK2pveXN0aWNrLCAzRCBoYXJkd2FyZSB2aWEgT3BlbkdMLCBhbmQgMkQgdmlkZW8gZnJhbWVidWZmZXIuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saWJzZGwub3JnIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vYnVnemlsbGEubGlic2RsLm9yZy8iCisKK1NFQ1RJT04gPSAibGlicyIKKworTElDRU5TRSA9ICJMR1BMdjIuMSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI3ODE4Y2Q3ZmQ4Mzg3N2E4ZTNlZjgyYjgyNzk4ZWY0IgorCitQUk9WSURFUyA9ICJ2aXJ0dWFsL2xpYnNkbCIKKworREVQRU5EUyA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2RpcmVjdGZiJywgJ2RpcmVjdGZiJywgJycsIGQpfSBcCisgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgJ3ZpcnR1YWwvbGliZ2wgbGliZ2x1JywgJycsIGQpfSBcCisgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3ZpcnR1YWwvbGlieDExIGxpYnhleHQgbGlieHJhbmRyIGxpYnhyZW5kZXInLCAnJywgZCl9IFwKKyAgICAgICAgICAgdHNsaWIiCitERVBFTkRTX2NsYXNzLW5hdGl2ZXNkayA9ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd2aXJ0dWFsL25hdGl2ZXNkay1saWJ4MTEgbmF0aXZlc2RrLWxpYnhyYW5kciBuYXRpdmVzZGstbGlieHJlbmRlciBuYXRpdmVzZGstbGlieGV4dCcsICcnLCBkKX0iCisKK1BSID0gInIzIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubGlic2RsLm9yZy9yZWxlYXNlL1NETC0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vY29uZmlndXJlX3R3ZWFrLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2xpYnNkbC0xLjIuMTUteGRhdGEzMi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9wa2djb25maWcucGF0Y2ggXAorICAgICAgICAgICIKKworUyA9ICIke1dPUktESVJ9L1NETC0ke1BWfSIKKworU1JDX1VSSVttZDVzdW1dID0gIjlkOTZkZjg0MTc1NzJhMmFmYjc4MWE3YzRjODExYTg1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ2ZDMxNmE3OTNlNWUzNDgxNTVmMGRkOTNiOTc5Nzk4OTMzZmI5OGFhMWVkZWJjYzEwODgyOWQ2NDc0YWFkMDAiCisKK0JJTkNPTkZJRyA9ICIke2JpbmRpcn0vc2RsLWNvbmZpZyIKKworaW5oZXJpdCBhdXRvdG9vbHMgbGliX3BhY2thZ2UgYmluY29uZmlnLWRpc2FibGVkIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXN0YXRpYyAtLWVuYWJsZS1jZHJvbSAtLWVuYWJsZS10aHJlYWRzIC0tZW5hYmxlLXRpbWVycyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtZmlsZSAtLWRpc2FibGUtb3NzIC0tZGlzYWJsZS1lc2QgLS1kaXNhYmxlLWFydHMgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kaXNrYXVkaW8gLS1kaXNhYmxlLW5hcyAtLWRpc2FibGUtZXNkLXNoYXJlZCAtLWRpc2FibGUtZXNkdGVzdCBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLW1pbnRhdWRpbyAtLWRpc2FibGUtbmFzbSAtLWRpc2FibGUtdmlkZW8tZGdhIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtdmlkZW8tZmJjb24gLS1kaXNhYmxlLXZpZGVvLXBzMmdzIC0tZGlzYWJsZS12aWRlby1wczMgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS14YmlvcyAtLWRpc2FibGUtZ2VtIC0tZGlzYWJsZS12aWRlby1kdW1teSBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtaW5wdXQtZXZlbnRzIC0tZW5hYmxlLWlucHV0LXRzbGliIC0tZW5hYmxlLXB0aHJlYWRzIFwKKyAgICAgICAgICAgICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2RpcmVjdGZiJywgJy0tZW5hYmxlLXZpZGVvLWRpcmVjdGZiJywgJy0tZGlzYWJsZS12aWRlby1kaXJlY3RmYicsIGQpfSBcCisgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdvcGVuZ2wnLCAnLS1lbmFibGUtdmlkZW8tb3BlbmdsJywgJy0tZGlzYWJsZS12aWRlby1vcGVuZ2wnLCBkKX0gXAorICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJy0tZW5hYmxlLXZpZGVvLXgxMScsICctLWRpc2FibGUtdmlkZW8teDExJywgZCl9IFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtdmlkZW8tc3ZnYSBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXZpZGVvLXBpY29ndWkgLS1kaXNhYmxlLXZpZGVvLXF0b3BpYSAtLWVuYWJsZS1zZGwtZGxvcGVuIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtcnBhdGggXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1wdWxzZWF1ZGlvIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdhbHNhJywgJ2Fsc2EnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1thbHNhXSA9ICItLWVuYWJsZS1hbHNhIC0tZGlzYWJsZS1hbHNhdGVzdCwtLWRpc2FibGUtYWxzYSxhbHNhLWxpYiwiCisKK0VYVFJBX0FVVE9SRUNPTkYgKz0gIi0taW5jbHVkZT1hY2luY2x1ZGUgLS1leGNsdWRlPWF1dG9oZWFkZXIiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgICAgICAjIFJlbW92ZSBvbGQgbGlidG9vbCBtYWNyb3MuCisgICAgICAgIE1BQ1JPUz0ibGlidG9vbC5tNCBsdH5vYnNvbGV0ZS5tNCBsdG9wdGlvbnMubTQgbHRzdWdhci5tNCBsdHZlcnNpb24ubTQiCisgICAgICAgIGZvciBpIGluICR7TUFDUk9TfTsgZG8KKyAgICAgICAgICAgICAgIHJtIC1mICR7U30vYWNpbmNsdWRlLyRpCisgICAgICAgIGRvbmUKKyAgICAgICAgZXhwb3J0IFNZU1JPT1Q9JFBLR19DT05GSUdfU1lTUk9PVF9ESVIKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlic2RsMi9saWJzZGwyXzIuMC4zLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNkbDIvbGlic2RsMl8yLjAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45N2Y2NGYzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnNkbDIvbGlic2RsMl8yLjAuMy5iYgpAQCAtMCwwICsxLDYzIEBACitTVU1NQVJZID0gIlNpbXBsZSBEaXJlY3RNZWRpYSBMYXllciIKK0RFU0NSSVBUSU9OID0gIlNpbXBsZSBEaXJlY3RNZWRpYSBMYXllciBpcyBhIGNyb3NzLXBsYXRmb3JtIG11bHRpbWVkaWEgXAorbGlicmFyeSBkZXNpZ25lZCB0byBwcm92aWRlIGxvdyBsZXZlbCBhY2Nlc3MgdG8gYXVkaW8sIGtleWJvYXJkLCBtb3VzZSwgXAoram95c3RpY2ssIDNEIGhhcmR3YXJlIHZpYSBPcGVuR0wsIGFuZCAyRCB2aWRlbyBmcmFtZWJ1ZmZlci4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmxpYnNkbC5vcmciCitCVUdUUkFDS0VSID0gImh0dHA6Ly9idWd6aWxsYS5saWJzZGwub3JnLyIKKworU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIlpsaWIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HLnR4dDttZDU9NjdkY2I3ZmFlMTY5NTI1NTdiYzVmOTZlOWViNWQxODgiCisKK1BST1ZJREVTID0gInZpcnR1YWwvbGlic2RsMiIKKworREVQRU5EU19jbGFzcy1uYXRpdmVzZGsgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAndmlydHVhbC9uYXRpdmVzZGstbGlieDExIG5hdGl2ZXNkay1saWJ4cmFuZHIgbmF0aXZlc2RrLWxpYnhyZW5kZXIgbmF0aXZlc2RrLWxpYnhleHQnLCAnJywgZCl9IgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cubGlic2RsLm9yZy9yZWxlYXNlL1NETDItJHtQVn0udGFyLmd6IgorCitTID0gIiR7V09SS0RJUn0vU0RMMi0ke1BWfSIKKworU1JDX1VSSVttZDVzdW1dID0gImZlNmM2MWQyZTlkZjllZjU3MGU3ZTgwYzZlODIyNTM3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImE1YTY5YTZhYmY4MGJjY2U3MTNmYTg3MzYwNzczNWZlNzEyZjQ0Mjc2YTdmMDQ4ZDYwYTYxYmIyZjZiM2M5MGMiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGxpYl9wYWNrYWdlIGJpbmNvbmZpZyBwa2djb25maWcKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1vc3MgLS1kaXNhYmxlLWVzZCAtLWRpc2FibGUtYXJ0cyBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLWRpc2thdWRpbyAtLWRpc2FibGUtbmFzIC0tZGlzYWJsZS1lc2Qtc2hhcmVkIC0tZGlzYWJsZS1lc2R0ZXN0IFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtdmlkZW8tZHVtbXkgXAorICAgICAgICAgICAgICAgIC0tZW5hYmxlLXB0aHJlYWRzIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1zZGwtZGxvcGVuIFwKKyAgICAgICAgICAgICAgICAtLWRpc2FibGUtcnBhdGgiCisKKyMgb3BlbmdsIHBhY2thZ2Vjb25maWcgZmFjdG9yZWQgb3V0IHRvIG1ha2UgaXQgZWFzeSBmb3IgZGlzdHJvcworIyBhbmQgQlNQIGxheWVycyB0byBwaWNrIGVpdGhlciAoZGVza3RvcCkgb3BlbmdsLCBnbGVzMiwgb3Igbm8gR0wKK1BBQ0tBR0VDT05GSUdfR0wgPz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnb3BlbmdsJywgJ29wZW5nbCcsICcnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUcgPz89ICIgXAorICAgICR7UEFDS0FHRUNPTkZJR19HTH0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnYWxzYScsICdhbHNhJywgJycsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdkaXJlY3RmYicsICdkaXJlY3RmYicsICcnLCBkKX0gXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncHVsc2VhdWRpbycsICdwdWxzZWF1ZGlvJywgJycsIGQpfSBcCisgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd3YXlsYW5kJywgJ3dheWxhbmQnLCAnJywgZCl9IFwKKyAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4MTEnLCAnJywgZCl9IFwKKyIKK1BBQ0tBR0VDT05GSUdbYWxzYV0gICAgICAgPSAiLS1lbmFibGUtYWxzYSAtLWRpc2FibGUtYWxzYXRlc3QsLS1kaXNhYmxlLWFsc2EsYWxzYS1saWIsIgorUEFDS0FHRUNPTkZJR1tkaXJlY3RmYl0gICA9ICItLWVuYWJsZS12aWRlby1kaXJlY3RmYiAtLWRpc2FibGUtdmlkZW8tZGlyZWN0ZmIsZGlyZWN0ZmIiCitQQUNLQUdFQ09ORklHW2dsZXMyXSAgICAgID0gIi0tZW5hYmxlLXZpZGVvLW9wZW5nbGVzLC0tZGlzYWJsZS12aWRlby1vcGVuZ2xlcyx2aXJ0dWFsL2xpYmdsZXMyIgorUEFDS0FHRUNPTkZJR1tvcGVuZ2xdICAgICA9ICItLWVuYWJsZS12aWRlby1vcGVuZ2wsLS1kaXNhYmxlLXZpZGVvLW9wZW5nbCx2aXJ0dWFsL2xpYmdsIgorUEFDS0FHRUNPTkZJR1twdWxzZWF1ZGlvXSA9ICItLWVuYWJsZS1wdWxzZWF1ZGlvLC0tZGlzYWJsZS1wdWxzZWF1ZGlvLHB1bHNlYXVkaW8iCitQQUNLQUdFQ09ORklHW3RzbGliXSAgICAgID0gIi0tZW5hYmxlLWlucHV0LXRzbGliLC0tZGlzYWJsZS1pbnB1dC10c2xpYix0c2xpYiIKK1BBQ0tBR0VDT05GSUdbd2F5bGFuZF0gICAgPSAiLS1lbmFibGUtdmlkZW8td2F5bGFuZCwtLWRpc2FibGUtdmlkZW8td2F5bGFuZCx3YXlsYW5kIgorUEFDS0FHRUNPTkZJR1t4MTFdICAgICAgICA9ICItLWVuYWJsZS12aWRlby14MTEsLS1kaXNhYmxlLXZpZGVvLXgxMSx2aXJ0dWFsL2xpYngxMSBsaWJ4ZXh0IGxpYnhyYW5kciBsaWJ4cmVuZGVyIgorCitFWFRSQV9BVVRPUkVDT05GICs9ICItLWluY2x1ZGU9YWNpbmNsdWRlIC0tZXhjbHVkZT1hdXRvaGVhZGVyIgorCitkb19jb25maWd1cmVfcHJlcGVuZCgpIHsKKyAgICAgICAgIyBSZW1vdmUgb2xkIGxpYnRvb2wgbWFjcm9zLgorICAgICAgICBNQUNST1M9ImxpYnRvb2wubTQgbHR+b2Jzb2xldGUubTQgbHRvcHRpb25zLm00IGx0c3VnYXIubTQgbHR2ZXJzaW9uLm00IgorICAgICAgICBmb3IgaSBpbiAke01BQ1JPU307IGRvCisgICAgICAgICAgICAgICBybSAtZiAke1N9L2FjaW5jbHVkZS8kaQorICAgICAgICBkb25lCisgICAgICAgIGV4cG9ydCBTWVNST09UPSRQS0dfQ09ORklHX1NZU1JPT1RfRElSCit9CmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlieHNldHRpbmdzLWNsaWVudC9saWJ4c2V0dGluZ3MtY2xpZW50L01JVC1zdHlsZS1saWNlbnNlIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnhzZXR0aW5ncy1jbGllbnQvbGlieHNldHRpbmdzLWNsaWVudC9NSVQtc3R5bGUtbGljZW5zZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MjhkZTk4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnhzZXR0aW5ncy1jbGllbnQvbGlieHNldHRpbmdzLWNsaWVudC9NSVQtc3R5bGUtbGljZW5zZQpAQCAtMCwwICsxLDIyIEBACisvKgorICogQ29weXJpZ2h0IMKpIDIwMDEgUmVkIEhhdCwgSW5jLgorICoKKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGRpc3RyaWJ1dGUsIGFuZCBzZWxsIHRoaXMgc29mdHdhcmUgYW5kIGl0cworICogZG9jdW1lbnRhdGlvbiBmb3IgYW55IHB1cnBvc2UgaXMgaGVyZWJ5IGdyYW50ZWQgd2l0aG91dCBmZWUsIHByb3ZpZGVkIHRoYXQKKyAqIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFwcGVhciBpbiBhbGwgY29waWVzIGFuZCB0aGF0IGJvdGggdGhhdAorICogY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gc3VwcG9ydGluZworICogZG9jdW1lbnRhdGlvbiwgYW5kIHRoYXQgdGhlIG5hbWUgb2YgUmVkIEhhdCBub3QgYmUgdXNlZCBpbiBhZHZlcnRpc2luZyBvcgorICogcHVibGljaXR5IHBlcnRhaW5pbmcgdG8gZGlzdHJpYnV0aW9uIG9mIHRoZSBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljLAorICogd3JpdHRlbiBwcmlvciBwZXJtaXNzaW9uLiAgUmVkIEhhdCBtYWtlcyBubyByZXByZXNlbnRhdGlvbnMgYWJvdXQgdGhlCisgKiBzdWl0YWJpbGl0eSBvZiB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZS4gIEl0IGlzIHByb3ZpZGVkICJhcyBpcyIKKyAqIHdpdGhvdXQgZXhwcmVzcyBvciBpbXBsaWVkIHdhcnJhbnR5LgorICoKKyAqIFJFRCBIQVQgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEggUkVHQVJEIFRPIFRISVMgU09GVFdBUkUsIElOQ0xVRElORyBBTEwKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MsIElOIE5PIEVWRU5UIFNIQUxMIFJFRCBIQVQKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJQUwsIElORElSRUNUIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUworICogV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOIEFDVElPTgorICogT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiAKKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCisgKgorICogQXV0aG9yOiAgT3dlbiBUYXlsb3IsIFJlZCBIYXQsIEluYy4KKyAqLwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnhzZXR0aW5ncy1jbGllbnQvbGlieHNldHRpbmdzLWNsaWVudC9kaXNhYmxlX09zX29wdGlvbi5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ4c2V0dGluZ3MtY2xpZW50L2xpYnhzZXR0aW5ncy1jbGllbnQvZGlzYWJsZV9Pc19vcHRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjRiN2VmYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ4c2V0dGluZ3MtY2xpZW50L2xpYnhzZXR0aW5ncy1jbGllbnQvZGlzYWJsZV9Pc19vcHRpb24ucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitEbyBub3Qgc2V0IE9zIG9wdGltaXphdGlvbiBpbiB0YXJnZXQgQVBQIENGTEFHUywgc2luY2UgaXQgbWF5IGhhdmUgcG90ZW50aWFsCitlcnJvciBpZiAiLS1lbmFibGUtdGFyZ2V0LW9wdHNwYWNlIiBpcyBub3Qgc2V0IHdoZW4gY29uZmlndXJpbmcgR0NDLgorCitTaWduZWQtb2ZmLWJ5OiBEb25neGlhbyBYdSA8ZG9uZ3hpYW8ueHVAaW50ZWwuY29tPgorCitkaWZmIC1ydU4gWHNldHRpbmdzLWNsaWVudC0wLjEwLW9yaWcvY29uZmlndXJlLmFjIFhzZXR0aW5ncy1jbGllbnQtMC4xMC9jb25maWd1cmUuYWMKKy0tLSBYc2V0dGluZ3MtY2xpZW50LTAuMTAtb3JpZy9jb25maWd1cmUuYWMJMjAxMC0wOS0yMSAxNDowMTo0Ny4wMDAwMDAwMDAgKzA4MDAKKysrKyBYc2V0dGluZ3MtY2xpZW50LTAuMTAvY29uZmlndXJlLmFjCTIwMTAtMDktMjEgMTQ6MDI6MDEuMDAwMDAwMDAwICswODAwCitAQCAtMyw3ICszLDcgQEAKKyBBTV9JTklUX0FVVE9NQUtFKFhzZXR0aW5ncy1jbGllbnQsIDAuMTApCisgQU1fQ09ORklHX0hFQURFUihjb25maWcuaCkKKyAKKy1DRkxBR1M9Ii1PcyAtV2FsbCIKKytDRkxBR1M9Ii1PMiAtV2FsbCIKKyAKKyAjIENoZWNrcyBmb3IgcHJvZ3JhbXMuCisgQUNfUFJPR19DQwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnhzZXR0aW5ncy1jbGllbnQvbGlieHNldHRpbmdzLWNsaWVudC9saW5rLXgxMS5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ4c2V0dGluZ3MtY2xpZW50L2xpYnhzZXR0aW5ncy1jbGllbnQvbGluay14MTEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA4ZDBkNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ4c2V0dGluZ3MtY2xpZW50L2xpYnhzZXR0aW5ncy1jbGllbnQvbGluay14MTEucGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitJbmRleDogWHNldHRpbmdzLWNsaWVudC0wLjEwL01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gWHNldHRpbmdzLWNsaWVudC0wLjEwLm9yaWcvTWFrZWZpbGUuYW0JMjAwOC0wMi0wNyAxNDo0OTo1NC4wMDAwMDAwMDAgKzAwMDAKKysrKyBYc2V0dGluZ3MtY2xpZW50LTAuMTAvTWFrZWZpbGUuYW0JMjAwOC0wMi0wNyAxNDo1MDowMC4wMDAwMDAwMDAgKzAwMDAKK0BAIC05LDQgKzksNCBAQAorIAorIGxpYlhzZXR0aW5nc19jbGllbnRfbGFfU09VUkNFUz0gJChzb3VyY2VfYykgJChzb3VyY2VfaCkKKyAKKy1saWJYc2V0dGluZ3NfY2xpZW50X2xhX0xJQkFERCAgICAgID0gQFhfTElCU0AKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorK2xpYlhzZXR0aW5nc19jbGllbnRfbGFfTElCQUREICAgICAgPSBAWF9MSUJTQCAtbFgxMQpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnhzZXR0aW5ncy1jbGllbnQvbGlieHNldHRpbmdzLWNsaWVudC9vYnNvbGV0ZV9hdXRvbWFrZV9tYWNyb3MucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbGlieHNldHRpbmdzLWNsaWVudC9saWJ4c2V0dGluZ3MtY2xpZW50L29ic29sZXRlX2F1dG9tYWtlX21hY3Jvcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MDVkMDhlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnhzZXR0aW5ncy1jbGllbnQvbGlieHNldHRpbmdzLWNsaWVudC9vYnNvbGV0ZV9hdXRvbWFrZV9tYWNyb3MucGF0Y2gKQEAgLTAsMCArMSwxNCBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE1hcmtvIExpbmRxdmlzdCA8Y2F6Zmk3NEBnbWFpbC5jb20+CitkaWZmIC1OdXJkIFhzZXR0aW5ncy1jbGllbnQtMC4xMC9jb25maWd1cmUuYWMgWHNldHRpbmdzLWNsaWVudC0wLjEwL2NvbmZpZ3VyZS5hYworLS0tIFhzZXR0aW5ncy1jbGllbnQtMC4xMC9jb25maWd1cmUuYWMJMjAwMy0wMy0yOCAxMjozOTo1MS4wMDAwMDAwMDAgKzAyMDAKKysrKyBYc2V0dGluZ3MtY2xpZW50LTAuMTAvY29uZmlndXJlLmFjCTIwMTMtMDEtMTEgMDc6Mzc6MjEuNDkxNTk3NzQzICswMjAwCitAQCAtMSw3ICsxLDcgQEAKKyAjIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b2NvbmYgdG8gcHJvZHVjZSBhIGNvbmZpZ3VyZSBzY3JpcHQuCisgQUNfSU5JVCh4c2V0dGluZ3MtY2xpZW50LmMpCisgQU1fSU5JVF9BVVRPTUFLRShYc2V0dGluZ3MtY2xpZW50LCAwLjEwKQorLUFNX0NPTkZJR19IRUFERVIoY29uZmlnLmgpCisrQUNfQ09ORklHX0hFQURFUlMoY29uZmlnLmgpCisKKyBDRkxBR1M9Ii1PcyAtV2FsbCIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ4c2V0dGluZ3MtY2xpZW50L2xpYnhzZXR0aW5ncy1jbGllbnRfMC4xMC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9saWJ4c2V0dGluZ3MtY2xpZW50L2xpYnhzZXR0aW5ncy1jbGllbnRfMC4xMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzBkOWZjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL2xpYnhzZXR0aW5ncy1jbGllbnQvbGlieHNldHRpbmdzLWNsaWVudF8wLjEwLmJiCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAidXRpbGl0eSBmdW5jdGlvbnMgZm9yIHRoZSBYc2V0dGluZ3MgcHJvdG9jb2wiCitERVNDUklQVElPTiA9ICJMaWJyYXJpZXMgdXNlZCBmb3IgYXBwbGljYXRpb25zIG1ha2luZyB1c2Ugb2YgdGhlIFhzZXR0aW5ncyBjb25maWd1cmF0aW9uIFwKK3NldHRpbmcgcHJvcGFnYXRpb24gcHJvdG9jb2wuIENvbnRyb2xzIHNldHRpbmcgb2YgZG91YmxlIGNsaWNrIHRpbWVvdXQsIGRyYWctYW5kLWRyb3AgXAordGhyZXNob2xkLCBhbmQgZGVmYXVsdCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgYWxsIGFwcGxpY2F0aW9ucyBydW5uaW5nIHdpdGhpbiBhIFwKK2Rlc2t0b3AuIgorSE9NRVBBR0UgPSAiaHR0cDovL21hdGNoYm94LXByb2plY3Qub3JnL3NvdXJjZXMvb3B0aW9uYWwtZGVwZW5kZW5jaWVzLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3ppbGxhLnlvY3RvcHJvamVjdC5vcmcvIgorU0VDVElPTiA9ICJ4L2xpYnMiCitMSUNFTlNFID0gIk1JVC1zdHlsZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTdjZmFjOWQyZDRkYzM2OTRjYzdlYjYwNWNmMzJhNjliIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3hzZXR0aW5ncy1jbGllbnQuaDtlbmRsaW5lPTIyO21kNT03Y2ZhYzlkMmQ0ZGMzNjk0Y2M3ZWI2MDVjZjMyYTY5YiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly94c2V0dGluZ3MtY29tbW9uLmg7ZW5kbGluZT0yMjttZDU9N2NmYWM5ZDJkNGRjMzY5NGNjN2ViNjA1Y2YzMmE2OWIiCitERVBFTkRTID0gInZpcnR1YWwvbGlieDExIgorCitQUiA9ICJyNSIKKworaGVhZGVycyA9ICJ4c2V0dGluZ3MtY29tbW9uLmggeHNldHRpbmdzLWNsaWVudC5oIgorCitTUkNfVVJJID0gImh0dHA6Ly9kb3dubG9hZHMueW9jdG9wcm9qZWN0Lm9yZy9yZWxlYXNlcy9tYXRjaGJveC9vcHRpb25hbC1kZXBlbmRlbmNpZXMvWHNldHRpbmdzLWNsaWVudC0wLjEwLnRhci5neiBcCisgICAgICAgIGZpbGU6Ly9NSVQtc3R5bGUtbGljZW5zZSBcCisgICAgICAgIGZpbGU6Ly9saW5rLXgxMS5wYXRjaDthcHBseT15ZXMgXAorICAgICAgICBmaWxlOi8vZGlzYWJsZV9Pc19vcHRpb24ucGF0Y2ggXAorICAgICAgICBmaWxlOi8vb2Jzb2xldGVfYXV0b21ha2VfbWFjcm9zLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gImMxNGFhOWRiNmMwOTdlMDMwNmRhYzk3ZmI3ZGExYWRkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImYyNzRhNGJjOTY5YWUxOTI5OTRhODU2YjdmNzg2YzZmY2U5NmJhZTc3Zjk2YzFjMmI3MWRkOTc1OTllMDZlNDMiCisKK1MgPSAiJHtXT1JLRElSfS9Yc2V0dGluZ3MtY2xpZW50LTAuMTAiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK2RvX2NvbmZpZ3VyZV9wcmVwZW5kKCkgeworICAgICMgVGhpcyBwYWNrYWdlIGRvZXNuJ3Qgc2hpcCB3aXRoIGl0cyBvd24gQ09QWUlORyBmaWxlIGFuZAorICAgICMgYXV0b3Rvb2xzIHdpbGwgaW5zdGFsbCBhIEdQTHYyIG9uZSBpbnN0ZWFkIG9mIHRoZSBhY3R1YWwgTUlULXN0eWxlIGxpY2Vuc2UgaGVyZS4KKyAgICAjIEFkZCB0aGUgY29ycmVjdCBsaWNlbnNlIGhlcmUgdG8gYXZvaWQgY29uZnVzaW9uLgorICAgIGNwIC1mICR7V09SS0RJUn0vTUlULXN0eWxlLWxpY2Vuc2UgJHtTfS9DT1BZSU5HCit9CisKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tYXRjaGJveC1zZXNzaW9uL21hdGNoYm94LXNlc3Npb24vbWF0Y2hib3gtc2Vzc2lvbiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tYXRjaGJveC1zZXNzaW9uL21hdGNoYm94LXNlc3Npb24vbWF0Y2hib3gtc2Vzc2lvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDZjYWEwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21hdGNoYm94LXNlc3Npb24vbWF0Y2hib3gtc2Vzc2lvbi9tYXRjaGJveC1zZXNzaW9uCkBAIC0wLDAgKzEsMjQgQEAKKyMhL2Jpbi9zaAorIworIyBWZXJ5IHNpbXBsZSBzZXNzaW9uIG1hbmFnZXIgZm9yIG1hdGNoYm94IHRvb2xzCisjCisKKyMgVW5jb21tZW50IGJlbG93IHRvIGVuYWJsZSBwYXJzaW5nIG9mIGRlYmlhbiBtZW51IGVudHJ5cworIyBleHBvcnQgTUJfVVNFX0RFQl9NRU5VUz0xIAorCitpZiBbIC1lICRIT01FLy5tYXRjaGJveC9zZXNzaW9uIF0KK3RoZW4KK2V4ZWMgJEhPTUUvLm1hdGNoYm94L3Nlc3Npb24KK2ZpCisKK2lmIFsgLWUgL2V0Yy9tYXRjaGJveC9zZXNzaW9uIF0KK3RoZW4KK2V4ZWMgL2V0Yy9tYXRjaGJveC9zZXNzaW9uCitmaQorCisjIERlZmF1bHQgZmlsZXMgdG8gcnVuIGlmICRIT01FLy5tYXRjaGJveC9zZXNzaW9uIG9yIC9ldGMvbWF0Y2hib3gvc2Vzc2lvbgorIyBkb250IGV4aXN0LiAKKworbWF0Y2hib3gtZGVza3RvcCAmCittYXRjaGJveC1wYW5lbCAmCitleGVjIG1hdGNoYm94LXdpbmRvdy1tYW5hZ2VyICRACmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWF0Y2hib3gtc2Vzc2lvbi9tYXRjaGJveC1zZXNzaW9uXzAuMS5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tYXRjaGJveC1zZXNzaW9uL21hdGNoYm94LXNlc3Npb25fMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiYWYwNTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWF0Y2hib3gtc2Vzc2lvbi9tYXRjaGJveC1zZXNzaW9uXzAuMS5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIkN1c3RvbSBNYXRjaGJveCBzZXNzaW9uIGZpbGVzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5tYXRjaGJveC1wcm9qZWN0Lm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHA6Ly9idWd6aWxsYS55b2N0b3Byb2plY3Qub3JnLyIKKworTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL21hdGNoYm94LXNlc3Npb247ZW5kbGluZT0yMDttZDU9MTgwZjFjMTY5YTE1ZDA1OWE1NmMzMDA5NGY2ZmI1ZWEiCisKK1NFQ1RJT04gPSAieDExIgorUkNPTkZMSUNUU18ke1BOfSA9ICJtYXRjaGJveC1jb21tb24iCisKK1NSQ19VUkkgPSAiZmlsZTovL21hdGNoYm94LXNlc3Npb24iCitTID0gIiR7V09SS0RJUn0iCisKK1BSID0gInI0IgorCitpbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKKworQUxURVJOQVRJVkVfJHtQTn0gPSAieC1zZXNzaW9uLW1hbmFnZXIiCitBTFRFUk5BVElWRV9UQVJHRVRbeC1zZXNzaW9uLW1hbmFnZXJdID0gIiR7YmluZGlyfS9tYXRjaGJveC1zZXNzaW9uIgorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgorCitkb19pbnN0YWxsKCkgeworCWluc3RhbGwgLWQgJHtEfS8ke2JpbmRpcn0KKwlpbnN0YWxsIC1tIDA3NTUgJHtTfS9tYXRjaGJveC1zZXNzaW9uICR7RH0vJHtiaW5kaXJ9Cit9CmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWF0Y2hib3gtd20vbWF0Y2hib3gtd20va2JkY29uZmlnIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21hdGNoYm94LXdtL21hdGNoYm94LXdtL2tiZGNvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzlkYThmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21hdGNoYm94LXdtL21hdGNoYm94LXdtL2tiZGNvbmZpZwpAQCAtMCwwICsxLDQyIEBACisjCisjIFRoaXMgaXMgYW4gZXhhbXBsZSBrZXlib2FyZCBjb25maWcgZmlsZSBmb3IgbWF0Y2hib3gKKyMKKyMgWW91IGNhbiBlZGl0IHRoaXMgZmlsZSBvciBjaGFuZ2UgcGVyIHVzZXIgYnkgY29weWluZyB0byAKKyMgIH4vLm1hdGNoYm94L2tiZGNvbmZpZworIworIyBTZSB0aGUgbWF0Y2hib3ggbWFudWFsIGZvciBtb3JlIGluZm8gKCBodHRwOi8vcHJvamVjdHMuby1oYW5kLmNvbS9tYXRjaGJveCApCisKKyMjIyBXaW5kb3cgb3BlcmF0aW9uIHNob3J0IGN1dHMgCisKKzxBbHQ+bj1uZXh0Cis8QWx0PnA9cHJldgorPEFsdD5jPWNsb3NlCis8QWx0PmQ9ZGVza3RvcAorPEFsdD5tPSFtYXRjaGJveC1yZW1vdGUgLW1ibWVudQorCisjIyMgQXBwIGxhdW5jaGluZy4KKworPGN0cmw+PGFsdD54PSF4dGVybQorPGN0cmw+PGFsdD5yPSFyeHZ0CisKKyMjIyBwb2t5IGFkZGl0aW9ucworCitYRjg2Q2FsZW5kYXI9ISRjb250YWN0cwordGVsZXBob25lPSEkZGF0ZXMKK1hGODZTdGFydD0hbWF0Y2hib3gtcmVtb3RlIC1kZXNrdG9wCitGMj0hbWF0Y2hib3gtcmVtb3RlIC1tYm1lbnUKKworI1hGODZNYWlsPSEkdGFza3MKKyNFc2NhcGU9Y2xvc2UKKworIyMjIHdpbmRvd3Mgc3R5bGUga2V5IHNob3J0Y3V0cworCis8YWx0PlRhYj1uZXh0Cis8YWx0PjxzaGlmdD5UYWI9cHJldgorCis8YWx0PnNwYWNlPXRhc2ttZW51Cis8YWx0PmVzY2FwZT0hbWF0Y2hib3gtcmVtb3RlIC1tYm1lbnUKKzxhbHQ+ZjQ9Y2xvc2UKKworZjExPWZ1bGxzY3JlZW4KKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21hdGNoYm94LXdtL21hdGNoYm94LXdtX2dpdC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tYXRjaGJveC13bS9tYXRjaGJveC13bV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDIyZDI1NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tYXRjaGJveC13bS9tYXRjaGJveC13bV9naXQuYmIKQEAgLTAsMCArMSw0MCBAQAorU1VNTUFSWSA9ICJNYXRjaGJveCBsaWdodHdlaWdodCB3aW5kb3cgbWFuYWdlciIKK0hPTUVQQUdFID0gImh0dHA6Ly9tYXRjaGJveC1wcm9qZWN0Lm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3ppbGxhLnlvY3RvcHJvamVjdC5vcmcvIgorCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy93bS5oO2VuZGxpbmU9MjE7bWQ1PWE3ZTg0NDQ2NWVkYmNmNzljMjgyMzY5ZjkzY2FhODM1IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9tYWluLmM7ZW5kbGluZT0yMTttZDU9M2U1ZDlmODMyYjUyN2IwZDcyZGJlOGUzYzRjNjBiOTUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3dtLmM7ZW5kbGluZT0yMTttZDU9OGRjOWQyNDQ3N2Q4N2VmNWRmYmMyZTQ5MjcxNDZhYWIiCisKK1NFQ1RJT04gPSAieDExL3dtIgorREVQRU5EUyA9ICJsaWJtYXRjaGJveCB2aXJ0dWFsL2xpYngxMSBsaWJ4ZXh0IGxpYnhyZW5kZXIgc3RhcnR1cC1ub3RpZmljYXRpb24gZXhwYXQgZ2NvbmYgbGlieGN1cnNvciBsaWJ4Zml4ZXMiCisKK1NSQ1JFViA9ICIyOTU0NGYwZTYxY2MyODFmYzYwMDYxNDQzYTUzNzI3MWUxMDgxYjc4IgorUFYgPSAiMS4yK2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdC55b2N0b3Byb2plY3Qub3JnL21hdGNoYm94LXdpbmRvdy1tYW5hZ2VyIFwKKyAgICAgICAgICAgZmlsZTovL2tiZGNvbmZpZyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vKiBcCisgICAgICAgICAgICAgICAke2RhdGFkaXJ9L21hdGNoYm94IFwKKyAgICAgICAgICAgICAgICR7c3lzY29uZmRpcn0vbWF0Y2hib3ggXAorICAgICAgICAgICAgICAgJHtkYXRhZGlyfS90aGVtZXMvYmxvbmRpZS9tYXRjaGJveCBcCisgICAgICAgICAgICAgICAke2RhdGFkaXJ9L3RoZW1lcy9EZWZhdWx0L21hdGNoYm94IFwKKyAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vdGhlbWVzL01CT3B1cy9tYXRjaGJveCIKKworRVhUUkFfT0VDT05GID0gIiAtLWVuYWJsZS1zdGFydHVwLW5vdGlmaWNhdGlvbiBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS14cm0gXAorICAgICAgICAgICAgICAgICAtLWVuYWJsZS1leHBhdCBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1leHBhdC1saWI9JHtTVEFHSU5HX0xJQkRJUn0gXAorICAgICAgICAgICAgICAgICAtLXdpdGgtZXhwYXQtaW5jbHVkZXM9JHtTVEFHSU5HX0lOQ0RJUn0iCisKK2RvX2luc3RhbGxfcHJlcGVuZCgpIHsKKwlpbnN0YWxsICR7V09SS0RJUn0va2JkY29uZmlnICR7U30vZGF0YS9rYmRjb25maWcKK30KZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZW51LWNhY2hlL21lbnUtY2FjaGVfMS4wLjAuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVudS1jYWNoZS9tZW51LWNhY2hlXzEuMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiOTA5ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVudS1jYWNoZS9tZW51LWNhY2hlXzEuMC4wLmJiCkBAIC0wLDAgKzEsMTYgQEAKK1NVTU1BUlkgPSAiTGlicmFyeSBmb3IgY2FjaGluZyBhcHBsaWNhdGlvbiBtZW51cyIKK0RFU0NSSVBUSU9OID0gIkEgbGlicmFyeSBjcmVhdGluZyBhbmQgdXRpbGl6aW5nIGNhY2hlcyB0byBzcGVlZCB1cCBmcmVlZGVza3RvcC5vcmcgYXBwbGljYXRpb24gbWVudXMiCitIT01FUEFHRSA9ICJodHRwOi8vbHhkZS5zb3VyY2Vmb3JnZS5uZXQvIgorCitMSUNFTlNFID0gIkxHUEx2Mi4xKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA5NjRjNjg5ZmNmNGMyMWM2Nzk3ZWE4NzQwODQxNmI2IgorCitTRUNUSU9OID0gIngxMS9saWJzIgorREVQRU5EUyA9ICJnbGliLTIuMCBpbnRsdG9vbC1uYXRpdmUgbGliZm0tZXh0cmEiCisKK1NSQ19VUkkgPSAiJHtTT1VSQ0VGT1JHRV9NSVJST1J9L2x4ZGUvbWVudS1jYWNoZS0ke1BWfS50YXIueHoiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0YThlNmMxYTg2ZDVlNjRlYzcyNWQ4NTBhNGFiZmJhZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmZjdkZjQzN2JiZmQzMTE5YzVmNjYyYzZkMjA5Yjk4ZjE1ZGUwM2E3MjAzMzA4YzZiNTZhNGMxZTFkNDE5YWFmIgorCitpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHBrZ2NvbmZpZyBndGstZG9jCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9saWJnbHVfOS4wLjAuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9saWJnbHVfOS4wLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDEwOTk4ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL2xpYmdsdV85LjAuMC5iYgpAQCAtMCwwICsxLDMwIEBACitTVU1NQVJZID0gIlRoZSBPcGVuR0wgdXRpbGl0eSB0b29sa2l0IgorREVTQ1JJUFRJT04gPSAiR0xVIGlzIGEgdXRpbGl0eSB0b29sa2l0IHVzZWQgd2l0aCBPcGVuR0wgaW1wbGVtZW50YXRpb25zIgorCitIT01FUEFHRSA9ICJodHRwOi8vbWVzYTNkLm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZyIKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9pbmNsdWRlL0dML2dsdS5oO2VuZGxpbmU9Mjk7bWQ1PTZiNzljNTcwZjY0NDM2M2IzNTY0NTZlN2Q0NDQ3MWQ5IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9saWJ0ZXNzL3Rlc3MuYztlbmRsaW5lPTI5O21kNT02Yjc5YzU3MGY2NDQzNjNiMzU2NDU2ZTdkNDQ0NzFkOSIKKworIyBFcG9jaCBhcyB0aGlzIHVzZWQgdG8gYmUgcGFydCBvZiBtZXNhCitQRSA9ICIyIgorUFIgPSAiMCIKKworU1JDX1VSSSA9ICJmdHA6Ly9mdHAuZnJlZWRlc2t0b3Aub3JnL3B1Yi9tZXNhL2dsdS9nbHUtJHtQVn0udGFyLmJ6MiIKKworU1JDX1VSSVttZDVzdW1dID0gImJlOTI0OTEzMmZmNDkyNzU0NjFjZjkyMDM5MDgzMDMwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFmN2FkMGQzNzlhNzIyZmNiZDMwM2FhNTY1MGM2ZDdkNTU0NGZkZTgzMTk2YjQyYTczZDExOTM1NjhhNGRmMTIiCisKK1MgPSAiJHtXT1JLRElSfS9nbHUtJHtQVn0iCisKK0RFUEVORFMgPSAidmlydHVhbC9saWJnbCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCisjIFJlcXVpcmVzIGxpYkdMLnNvIHdoaWNoIGlzIHByb3ZpZGVkIGJ5IG1lc2Egd2hlbiB4MTEgaW4gRElTVFJPX0ZFQVRVUkVTCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCisjIFJlbW92ZSB0aGUgbWVzYS1nbHUgZGVwZW5kZW5jeSBpbiBtZXNhLWdsdS1kZXYsIGFzIG1lc2EtZ2x1IGlzIGVtcHR5CitSREVQRU5EU18ke1BOfS1kZXYgPSAiIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1kZW1vcy8wMDAxLW1lc2EtZGVtb3MtQWRkLW1pc3NpbmctZGF0YS1maWxlcy5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZGVtb3MvMDAwMS1tZXNhLWRlbW9zLUFkZC1taXNzaW5nLWRhdGEtZmlsZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTNlZTljMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZGVtb3MvMDAwMS1tZXNhLWRlbW9zLUFkZC1taXNzaW5nLWRhdGEtZmlsZXMucGF0Y2gKQEAgLTAsMCArMSw2MjQgQEAKK0Zyb20gYjY5NWMzYTNmYTNmNGNkNDhjMTNhYTI2NTQyMTEwZGUyNzA3NTUxOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERyZXcgTW9zZWxleSA8ZHJld19tb3NlbGV5QG1lbnRvci5jb20+CitEYXRlOiBNb24sIDEyIE1heSAyMDE0IDE1OjIyOjMyIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0ggMS85XSBtZXNhLWRlbW9zOiBBZGQgbWlzc2luZyBkYXRhIGZpbGVzLgorCitBZGQgc29tZSBkYXRhIGZpbGVzIHRoYXQgYXJlIHByZXNlbnQgaW4gdGhlIGdpdCByZXBvc2l0b3J5OgorICAgaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL21lc2EvZGVtb3MvdHJlZS8/aWQ9bWVzYS1kZW1vcy04LjEuMAorYnV0IG5vdCBpbiB0aGUgcmVsZWFzZSB0YXJiYWxsCisgICBmdHA6Ly9mdHAuZnJlZWRlc2t0b3Aub3JnL3B1Yi9tZXNhL2RlbW9zLzguMS4wL21lc2EtZGVtb3MtOC4xLjAudGFyLmJ6MgorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBEcmV3IE1vc2VsZXkgPGRyZXdfbW9zZWxleUBtZW50b3IuY29tPgorU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgc3JjL2ZwZ2xzbC9kZXB0aC1yZWFkLmdsc2wgICAgICB8ICAgNCArCisgc3JjL2ZwZ2xzbC9pbmZpbml0ZS1sb29wLmdsc2wgICB8ICAgNyArCisgc3JjL2dsc2wvQ0gxMS1idW1wbWFwdGV4LmZyYWcgICB8ICA0NyArKysrKysrCisgc3JjL2dsc2wvYmxpbmtpbmctdGVhcG90LmZyYWcgICB8ICAzMSArKysrKworIHNyYy9nbHNsL2JsaW5raW5nLXRlYXBvdC52ZXJ0ICAgfCAgMTYgKysrCisgc3JjL2dsc2wvY29udm9sdXRpb24uZnJhZyAgICAgICB8ICAyMSArKysKKyBzcmMvZ2xzbC9zaW1wbGV4LW5vaXNlLmdsc2wgICAgIHwgMjc5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyBzcmMvZ2xzbC9za2lubmluZy52ZXJ0ICAgICAgICAgIHwgIDI0ICsrKysKKyBzcmMvcGVyZi9nbHNsc3RhdGVzY2hhbmdlMS5mcmFnIHwgIDE5ICsrKworIHNyYy9wZXJmL2dsc2xzdGF0ZXNjaGFuZ2UxLnZlcnQgfCAgMTQgKysKKyBzcmMvcGVyZi9nbHNsc3RhdGVzY2hhbmdlMi5mcmFnIHwgIDE3ICsrKworIHNyYy9wZXJmL2dsc2xzdGF0ZXNjaGFuZ2UyLnZlcnQgfCAgMTQgKysKKyBzcmMvdnBnbHNsL2luZmluaXRlLWxvb3AuZ2xzbCAgIHwgICA4ICsrCisgMTMgZmlsZXMgY2hhbmdlZCwgNTAxIGluc2VydGlvbnMoKykKKyBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2ZwZ2xzbC9kZXB0aC1yZWFkLmdsc2wKKyBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2ZwZ2xzbC9pbmZpbml0ZS1sb29wLmdsc2wKKyBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2dsc2wvQ0gxMS1idW1wbWFwdGV4LmZyYWcKKyBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2dsc2wvYmxpbmtpbmctdGVhcG90LmZyYWcKKyBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2dsc2wvYmxpbmtpbmctdGVhcG90LnZlcnQKKyBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2dsc2wvY29udm9sdXRpb24uZnJhZworIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvZ2xzbC9zaW1wbGV4LW5vaXNlLmdsc2wKKyBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2dsc2wvc2tpbm5pbmcudmVydAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvcGVyZi9nbHNsc3RhdGVzY2hhbmdlMS5mcmFnCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9wZXJmL2dsc2xzdGF0ZXNjaGFuZ2UxLnZlcnQKKyBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3BlcmYvZ2xzbHN0YXRlc2NoYW5nZTIuZnJhZworIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvcGVyZi9nbHNsc3RhdGVzY2hhbmdlMi52ZXJ0CisgY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy92cGdsc2wvaW5maW5pdGUtbG9vcC5nbHNsCisKK2RpZmYgLS1naXQgYS9zcmMvZnBnbHNsL2RlcHRoLXJlYWQuZ2xzbCBiL3NyYy9mcGdsc2wvZGVwdGgtcmVhZC5nbHNsCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uODZkMjk4ZQorLS0tIC9kZXYvbnVsbAorKysrIGIvc3JjL2ZwZ2xzbC9kZXB0aC1yZWFkLmdsc2wKK0BAIC0wLDAgKzEsNCBAQAorK3ZvaWQgbWFpbigpCisreworKyAgIGdsX0ZyYWdDb2xvciA9IGdsX0ZyYWdDb29yZC56enp6OworK30KK2RpZmYgLS1naXQgYS9zcmMvZnBnbHNsL2luZmluaXRlLWxvb3AuZ2xzbCBiL3NyYy9mcGdsc2wvaW5maW5pdGUtbG9vcC5nbHNsCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYzZkYzZlZQorLS0tIC9kZXYvbnVsbAorKysrIGIvc3JjL2ZwZ2xzbC9pbmZpbml0ZS1sb29wLmdsc2wKK0BAIC0wLDAgKzEsNyBAQAorK3ZvaWQgbWFpbigpIHsKKysgICB2ZWM0IHN1bSA9IHZlYzQoMCk7CisrICAgZm9yIChpbnQgaSA9IDE7IGkgIT0gMjsgaSArPSAyKSB7CisrICAgICAgc3VtICs9IHZlYzQoMC4xLCAwLjEsIDAuMSwgMC4xKTsKKysgICB9CisrICAgZ2xfRnJhZ0NvbG9yID0gc3VtOworK30KK2RpZmYgLS1naXQgYS9zcmMvZ2xzbC9DSDExLWJ1bXBtYXB0ZXguZnJhZyBiL3NyYy9nbHNsL0NIMTEtYnVtcG1hcHRleC5mcmFnCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uYjVkYWJiNAorLS0tIC9kZXYvbnVsbAorKysrIGIvc3JjL2dsc2wvQ0gxMS1idW1wbWFwdGV4LmZyYWcKK0BAIC0wLDAgKzEsNDcgQEAKKysvLworKy8vIEZyYWdtZW50IHNoYWRlciBmb3IgcHJvY2VkdXJhbCBidW1wcworKy8vCisrLy8gQXV0aG9yczogSm9obiBLZXNzZW5pY2gsIFJhbmRpIFJvc3QKKysvLworKy8vIENvcHlyaWdodCAoYykgMjAwMi0yMDA2IDNEbGFicyBJbmMuIEx0ZC4gCisrLy8KKysvLyBTZWUgM0RsYWJzLUxpY2Vuc2UudHh0IGZvciBsaWNlbnNlIGluZm9ybWF0aW9uCisrLy8KKysvLyBUZXh0dXJlIG1hcHBpbmcvbW9kdWxhdGlvbiBhZGRlZCBieSBCcmlhbiBQYXVsCisrLy8KKysKKyt2YXJ5aW5nIHZlYzMgTGlnaHREaXI7CisrdmFyeWluZyB2ZWMzIEV5ZURpcjsKKysKKyt1bmlmb3JtIGZsb2F0IEJ1bXBEZW5zaXR5OyAgICAgLy8gPSAxNi4wCisrdW5pZm9ybSBmbG9hdCBCdW1wU2l6ZTsgICAgICAgIC8vID0gMC4xNQorK3VuaWZvcm0gZmxvYXQgU3BlY3VsYXJGYWN0b3I7ICAvLyA9IDAuNQorKworK3VuaWZvcm0gc2FtcGxlcjJEIFRleDsKKysKKyt2b2lkIG1haW4oKQorK3sKKysgICAgdmVjMyBhbWJpZW50ID0gdmVjMygwLjI1KTsKKysgICAgdmVjMyBsaXRDb2xvcjsKKysgICAgdmVjMiBjID0gQnVtcERlbnNpdHkgKiBnbF9UZXhDb29yZFswXS5zdDsKKysgICAgdmVjMiBwID0gZnJhY3QoYykgLSB2ZWMyKDAuNSk7CisrCisrICAgIGZsb2F0IGQsIGY7CisrICAgIGQgPSBwLnggKiBwLnggKyBwLnkgKiBwLnk7CisrICAgIGYgPSBpbnZlcnNlc3FydChkICsgMS4wKTsKKysKKysgICAgaWYgKGQgPj0gQnVtcFNpemUpCisrICAgICAgICB7IHAgPSB2ZWMyKDAuMCk7IGYgPSAxLjA7IH0KKysKKysgICAgdmVjMyBTdXJmYWNlQ29sb3IgPSB0ZXh0dXJlMkQoVGV4LCBnbF9UZXhDb29yZFswXS5zdCkueHl6OworKworKyAgICB2ZWMzIG5vcm1EZWx0YSA9IHZlYzMocC54LCBwLnksIDEuMCkgKiBmOworKyAgICBsaXRDb2xvciA9IFN1cmZhY2VDb2xvciAqIChhbWJpZW50ICsgbWF4KGRvdChub3JtRGVsdGEsIExpZ2h0RGlyKSwgMC4wKSk7CisrICAgIHZlYzMgcmVmbGVjdERpciA9IHJlZmxlY3QoTGlnaHREaXIsIG5vcm1EZWx0YSk7CisrICAgIAorKyAgICBmbG9hdCBzcGVjID0gbWF4KGRvdChFeWVEaXIsIHJlZmxlY3REaXIpLCAwLjApOworKyAgICBzcGVjICo9IFNwZWN1bGFyRmFjdG9yOworKyAgICBsaXRDb2xvciA9IG1pbihsaXRDb2xvciArIHNwZWMsIHZlYzMoMS4wKSk7CisrCisrICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQobGl0Q29sb3IsIDEuMCk7CisrfQorZGlmZiAtLWdpdCBhL3NyYy9nbHNsL2JsaW5raW5nLXRlYXBvdC5mcmFnIGIvc3JjL2dsc2wvYmxpbmtpbmctdGVhcG90LmZyYWcKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi4wZGIwNjBiCistLS0gL2Rldi9udWxsCisrKysgYi9zcmMvZ2xzbC9ibGlua2luZy10ZWFwb3QuZnJhZworQEAgLTAsMCArMSwzMSBAQAorKyNleHRlbnNpb24gR0xfQVJCX3VuaWZvcm1fYnVmZmVyX29iamVjdCA6IGVuYWJsZQorKworK2xheW91dChzdGQxNDApIHVuaWZvcm0gY29sb3JzMAorK3sKKysgICAgZmxvYXQgRGlmZnVzZUNvb2w7CisrICAgIGZsb2F0IERpZmZ1c2VXYXJtOworKyAgICB2ZWMzICBTdXJmYWNlQ29sb3I7CisrICAgIHZlYzMgIFdhcm1Db2xvcjsKKysgICAgdmVjMyAgQ29vbENvbG9yOworKyAgICB2ZWM0ICBzb21lWzhdOworK307CisrCisrdmFyeWluZyBmbG9hdCBOZG90TDsKKyt2YXJ5aW5nIHZlYzMgIFJlZmxlY3RWZWM7CisrdmFyeWluZyB2ZWMzICBWaWV3VmVjOworKworK3ZvaWQgbWFpbiAodm9pZCkKKyt7CisrCisrICAgIHZlYzMga2Nvb2wgICAgPSBtaW4oQ29vbENvbG9yICsgRGlmZnVzZUNvb2wgKiBTdXJmYWNlQ29sb3IsIDEuMCk7CisrICAgIHZlYzMga3dhcm0gICAgPSBtaW4oV2FybUNvbG9yICsgRGlmZnVzZVdhcm0gKiBTdXJmYWNlQ29sb3IsIDEuMCk7CisrICAgIHZlYzMga2ZpbmFsICAgPSBtaXgoa2Nvb2wsIGt3YXJtLCBOZG90TCk7CisrCisrICAgIHZlYzMgbnJlZmxlY3QgPSBub3JtYWxpemUoUmVmbGVjdFZlYyk7CisrICAgIHZlYzMgbnZpZXcgICAgPSBub3JtYWxpemUoVmlld1ZlYyk7CisrCisrICAgIGZsb2F0IHNwZWMgICAgPSBtYXgoZG90KG5yZWZsZWN0LCBudmlldyksIDAuMCk7CisrICAgIHNwZWMgICAgICAgICAgPSBwb3coc3BlYywgMzIuMCk7CisrCisrICAgIGdsX0ZyYWdDb2xvciA9IHZlYzQgKG1pbihrZmluYWwgKyBzcGVjLCAxLjApLCAxLjApOworK30KK2RpZmYgLS1naXQgYS9zcmMvZ2xzbC9ibGlua2luZy10ZWFwb3QudmVydCBiL3NyYy9nbHNsL2JsaW5raW5nLXRlYXBvdC52ZXJ0CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMzk3ZDczMworLS0tIC9kZXYvbnVsbAorKysrIGIvc3JjL2dsc2wvYmxpbmtpbmctdGVhcG90LnZlcnQKK0BAIC0wLDAgKzEsMTYgQEAKKyt2ZWMzIExpZ2h0UG9zaXRpb24gPSB2ZWMzKDAuMCwgMTAuMCwgNC4wKTsgCisrIAorK3ZhcnlpbmcgZmxvYXQgTmRvdEw7CisrdmFyeWluZyB2ZWMzICBSZWZsZWN0VmVjOworK3ZhcnlpbmcgdmVjMyAgVmlld1ZlYzsKKysgCisrdm9pZCBtYWluKHZvaWQpCisreworKyAgICB2ZWMzIGVjUG9zICAgICAgPSB2ZWMzIChnbF9Nb2RlbFZpZXdNYXRyaXggKiBnbF9WZXJ0ZXgpOworKyAgICB2ZWMzIHRub3JtICAgICAgPSBub3JtYWxpemUoZ2xfTm9ybWFsTWF0cml4ICogZ2xfTm9ybWFsKTsKKysgICAgdmVjMyBsaWdodFZlYyAgID0gbm9ybWFsaXplKExpZ2h0UG9zaXRpb24gLSBlY1Bvcyk7CisrICAgIFJlZmxlY3RWZWMgICAgICA9IG5vcm1hbGl6ZShyZWZsZWN0KC1saWdodFZlYywgdG5vcm0pKTsKKysgICAgVmlld1ZlYyAgICAgICAgID0gbm9ybWFsaXplKC1lY1Bvcyk7CisrICAgIE5kb3RMICAgICAgICAgICA9IChkb3QobGlnaHRWZWMsIHRub3JtKSArIDEuMCkgKiAwLjU7CisrICAgIGdsX1Bvc2l0aW9uICAgICA9IGZ0cmFuc2Zvcm0oKTsKKyt9CitkaWZmIC0tZ2l0IGEvc3JjL2dsc2wvY29udm9sdXRpb24uZnJhZyBiL3NyYy9nbHNsL2NvbnZvbHV0aW9uLmZyYWcKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5lNDliOGFjCistLS0gL2Rldi9udWxsCisrKysgYi9zcmMvZ2xzbC9jb252b2x1dGlvbi5mcmFnCitAQCAtMCwwICsxLDIxIEBACisrCisrY29uc3QgaW50IEtlcm5lbFNpemUgPSA5OworKworKy8vdGV4dHVyZSBvZmZzZXRzCisrdW5pZm9ybSB2ZWMyIE9mZnNldFtLZXJuZWxTaXplXTsKKysvL2NvbnZvbHV0aW9uIGtlcm5lbAorK3VuaWZvcm0gdmVjNCBLZXJuZWxWYWx1ZVtLZXJuZWxTaXplXTsKKyt1bmlmb3JtIHNhbXBsZXIyRCBzcmNUZXg7CisrdW5pZm9ybSB2ZWM0IFNjYWxlRmFjdG9yOworK3VuaWZvcm0gdmVjNCBCYXNlQ29sb3I7CisrCisrdm9pZCBtYWluKHZvaWQpCisreworKyAgICBpbnQgaTsKKysgICAgdmVjNCBzdW0gPSB2ZWM0KDAuMCk7CisrICAgIGZvciAoaSA9IDA7IGkgPCBLZXJuZWxTaXplOyArK2kpIHsKKysgICAgICAgIHZlYzQgdG1wID0gdGV4dHVyZTJEKHNyY1RleCwgZ2xfVGV4Q29vcmRbMF0uc3QgKyBPZmZzZXRbaV0pOworKyAgICAgICAgc3VtICs9IHRtcCAqIEtlcm5lbFZhbHVlW2ldOworKyAgICB9CisrICAgIGdsX0ZyYWdDb2xvciA9IHN1bSAqIFNjYWxlRmFjdG9yICsgQmFzZUNvbG9yOworK30KK2RpZmYgLS1naXQgYS9zcmMvZ2xzbC9zaW1wbGV4LW5vaXNlLmdsc2wgYi9zcmMvZ2xzbC9zaW1wbGV4LW5vaXNlLmdsc2wKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5iNjgzM2NiCistLS0gL2Rldi9udWxsCisrKysgYi9zcmMvZ2xzbC9zaW1wbGV4LW5vaXNlLmdsc2wKK0BAIC0wLDAgKzEsMjc5IEBACisrLy8KKysvLyBEZXNjcmlwdGlvbiA6IEFycmF5IGFuZCB0ZXh0dXJlbGVzcyBHTFNMIDJELzNELzREIHNpbXBsZXgKKysvLyBub2lzZSBmdW5jdGlvbnMuCisrLy8gQXV0aG9yIDogSWFuIE1jRXdhbiwgQXNoaW1hIEFydHMuCisrLy8gTWFpbnRhaW5lciA6IGlqbQorKy8vIExhc3Rtb2QgOiAyMDExMDIyMworKy8vIExpY2Vuc2UgOiBDb3B5cmlnaHQgKEMpIDIwMTEgQXNoaW1hIEFydHMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisrLy8gRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEFydGlzdGljIExpY2Vuc2UgMi4wOyBTZWUgTElDRU5DRSBmaWxlLgorKy8vCisrCisrI2RlZmluZSBOT1JNQUxJWkVfR1JBRElFTlRTCisrI3VuZGVmIFVTRV9DSVJDTEUKKysjZGVmaW5lIENPTExBUFNFX1NPUlRORVQKKysKKytmbG9hdCBwZXJtdXRlKGZsb2F0IHgwLHZlYzMgcCkgeworKyAgZmxvYXQgeDEgPSBtb2QoeDAgKiBwLnksIHAueCk7CisrICByZXR1cm4gZmxvb3IoIG1vZCggKHgxICsgcC56KSAqeDAsIHAueCApKTsKKysgIH0KKyt2ZWMyIHBlcm11dGUodmVjMiB4MCx2ZWMzIHApIHsKKysgIHZlYzIgeDEgPSBtb2QoeDAgKiBwLnksIHAueCk7CisrICByZXR1cm4gZmxvb3IoIG1vZCggKHgxICsgcC56KSAqeDAsIHAueCApKTsKKysgIH0KKyt2ZWMzIHBlcm11dGUodmVjMyB4MCx2ZWMzIHApIHsKKysgIHZlYzMgeDEgPSBtb2QoeDAgKiBwLnksIHAueCk7CisrICByZXR1cm4gZmxvb3IoIG1vZCggKHgxICsgcC56KSAqeDAsIHAueCApKTsKKysgIH0KKyt2ZWM0IHBlcm11dGUodmVjNCB4MCx2ZWMzIHApIHsKKysgIHZlYzQgeDEgPSBtb2QoeDAgKiBwLnksIHAueCk7CisrICByZXR1cm4gZmxvb3IoIG1vZCggKHgxICsgcC56KSAqeDAsIHAueCApKTsKKysgIH0KKysKKyt1bmlmb3JtIHZlYzQgcFBhcmFtOworKy8vIEV4YW1wbGUKKysvLyBjb25zdCB2ZWM0IHBQYXJhbSA9IHZlYzQoIDE3LiogMTcuLCAzNC4sIDEuLCA3Lik7CisrCisrZmxvYXQgdGF5bG9ySW52U3FydChmbG9hdCByKQorKyAgeworKyAgcmV0dXJuICggMC44MzY2NjAwMjY1MzQwOCArIDAuNyowLjg1MzczNDcyMDk1MzE0IC0gMC44NTM3MzQ3MjA5NTMxNCAqIHIgKTsKKysgIH0KKysKKytmbG9hdCBzaW1wbGV4Tm9pc2UyKHZlYzIgdikKKysgIHsKKysgIGNvbnN0IHZlYzIgQyA9IHZlYzIoMC4yMTEzMjQ4NjU0MDUxODcxMzQsIC8vICgzLjAtc3FydCgzLjApKS82LjsKKysgICAgICAgICAgICAgICAgICAgICAgMC4zNjYwMjU0MDM3ODQ0Mzg1OTcpOyAvLyAwLjUqKHNxcnQoMy4wKS0xLik7CisrICBjb25zdCB2ZWMzIEQgPSB2ZWMzKCAwLiwgMC41LCAyLjApICogMy4xNDE1OTI2NTM1ODk3OTMxMjsKKysvLyBGaXJzdCBjb3JuZXIKKysgIHZlYzIgaSA9IGZsb29yKHYgKyBkb3QodiwgQy55eSkgKTsKKysgIHZlYzIgeDAgPSB2IC0gaSArIGRvdChpLCBDLnh4KTsKKysKKysvLyBPdGhlciBjb3JuZXJzCisrICB2ZWMyIGkxID0gKHgwLnggPiB4MC55KSA/IHZlYzIoMS4sMC4pIDogdmVjMigwLiwxLikgOworKworKyAgIC8vIHgwID0geDAgLSAwLiArIDAuICogQworKyAgdmVjMiB4MSA9IHgwIC0gaTEgKyAxLiAqIEMueHggOworKyAgdmVjMiB4MiA9IHgwIC0gMS4gKyAyLiAqIEMueHggOworKworKy8vIFBlcm11dGF0aW9ucworKyAgaSA9IG1vZChpLCBwUGFyYW0ueCk7CisrICB2ZWMzIHAgPSBwZXJtdXRlKCBwZXJtdXRlKAorKyAgICAgICAgICAgICBpLnkgKyB2ZWMzKDAuLCBpMS55LCAxLiApLCBwUGFyYW0ueHl6KQorKyAgICAgICAgICAgKyBpLnggKyB2ZWMzKDAuLCBpMS54LCAxLiApLCBwUGFyYW0ueHl6KTsKKysKKysjaWZuZGVmIFVTRV9DSVJDTEUKKysvLyAoIE4gcG9pbnRzIHVuaWZvcm1seSBvdmVyIGEgbGluZSwgbWFwcGVkIG9udG8gYSBkaWFtb25kLikKKysgIHZlYzMgeCA9IGZyYWN0KHAgLyBwUGFyYW0udykgOworKyAgdmVjMyBoID0gMC41IC0gYWJzKHgpIDsKKysKKysgIHZlYzMgc3ggPSB2ZWMzKGxlc3NUaGFuKHgsRC54eHgpKSAqMi4gLTEuOworKyAgdmVjMyBzaCA9IHZlYzMobGVzc1RoYW4oaCxELnh4eCkpOworKworKyAgdmVjMyBhMCA9IHggKyBzeCpzaDsKKysgIHZlYzIgcDAgPSB2ZWMyKGEwLngsaC54KTsKKysgIHZlYzIgcDEgPSB2ZWMyKGEwLnksaC55KTsKKysgIHZlYzIgcDIgPSB2ZWMyKGEwLnosaC56KTsKKysKKysjaWZkZWYgTk9STUFMSVNFX0dSQURJRU5UUworKyAgcDAgKj0gdGF5bG9ySW52U3FydChkb3QocDAscDApKTsKKysgIHAxICo9IHRheWxvckludlNxcnQoZG90KHAxLHAxKSk7CisrICBwMiAqPSB0YXlsb3JJbnZTcXJ0KGRvdChwMixwMikpOworKyNlbmRpZgorKworKyAgdmVjMyBnID0gMi4wICogdmVjMyggZG90KHAwLCB4MCksIGRvdChwMSwgeDEpLCBkb3QocDIsIHgyKSApOworKyNlbHNlCisrLy8gTiBwb2ludHMgYXJvdW5kIGEgdW5pdCBjaXJjbGUuCisrICB2ZWMzIHBoaSA9IEQueiAqIG1vZChwLHBQYXJhbS53KSAvcFBhcmFtLncgOworKyAgdmVjNCBhMCA9IHNpbihwaGkueHh5eStELnh5eHkpOworKyAgdmVjMiBhMSA9IHNpbihwaGkuenogK0QueHkpOworKyAgdmVjMyBnID0gdmVjMyggZG90KGEwLnh5LCB4MCksIGRvdChhMC56dywgeDEpLCBkb3QoYTEueHksIHgyKSApOworKyNlbmRpZgorKy8vIG1peAorKyAgdmVjMyBtID0gbWF4KDAuNSAtIHZlYzMoZG90KHgwLHgwKSwgZG90KHgxLHgxKSwgZG90KHgyLHgyKSksIDAuKTsKKysgIG0gPSBtKm0gOworKyAgcmV0dXJuIDEuNjY2NjYqIDcwLipkb3QobSptLCBnKTsKKysgIH0KKysKKytmbG9hdCBzaW1wbGV4Tm9pc2UzKHZlYzMgdikKKysgIHsKKysgIGNvbnN0IHZlYzIgQyA9IHZlYzIoMS4vNi4gLCAxLi8zLiApIDsKKysgIGNvbnN0IHZlYzQgRCA9IHZlYzQoMC4sIDAuNSwgMS4wLCAyLjApOworKworKy8vIEZpcnN0IGNvcm5lcgorKyAgdmVjMyBpID0gZmxvb3IodiArIGRvdCh2LCBDLnl5eSkgKTsKKysgIHZlYzMgeDAgPSB2IC0gaSArIGRvdChpLCBDLnh4eCkgOworKyAgCisrLy8gT3RoZXIgY29ybmVycworKyNpZmRlZiBDT0xMQVBTRV9TT1JUTkVUCisrICB2ZWMzIGcgPSB2ZWMzKCBncmVhdGVyVGhhbiggeDAueHl6LCB4MC55engpICk7CisrICB2ZWMzIGwgPSB2ZWMzKCBsZXNzVGhhbkVxdWFsKCB4MC54eXosIHgwLnl6eCkgKTsKKysKKysgIHZlYzMgaTEgPSBnLnh5eiAqIGwuenh5OworKyAgdmVjMyBpMiA9IG1heCggZy54eXosIGwuenh5KTsKKysjZWxzZQorKy8vIEtlZXBpbmcgdGhpcyBjbGVhbiAtIGxldCB0aGUgY29tcGlsZXIgb3B0aW1pemUuCisrICB2ZWMzIHExOworKyAgcTEueCA9IG1heCh4MC54LCB4MC55KTsKKysgIHExLnkgPSBtaW4oeDAueCwgeDAueSk7CisrICBxMS56ID0geDAuejsKKysKKysgIHZlYzMgcTI7CisrICBxMi54ID0gbWF4KHExLngscTEueik7CisrICBxMi56ID0gbWluKHExLngscTEueik7CisrICBxMi55ID0gcTEueTsKKysKKysgIHZlYzMgcTM7CisrICBxMy55ID0gbWF4KHEyLnksIHEyLnopOworKyAgcTMueiA9IG1pbihxMi55LCBxMi56KTsKKysgIHEzLnggPSBxMi54OworKworKyAgdmVjMyBpMSA9IHZlYzMoZXF1YWwocTMueHh4LCB4MCkpOworKyAgdmVjMyBpMiA9IGkxICsgdmVjMyhlcXVhbChxMy55eXksIHgwKSk7CisrI2VuZGlmCisrCisrICAgLy8geDAgPSB4MCAtIDAuICsgMC4gKiBDCisrICB2ZWMzIHgxID0geDAgLSBpMSArIDEuICogQy54eHg7CisrICB2ZWMzIHgyID0geDAgLSBpMiArIDIuICogQy54eHg7CisrICB2ZWMzIHgzID0geDAgLSAxLiArIDMuICogQy54eHg7CisrCisrLy8gUGVybXV0YXRpb25zCisrICBpID0gbW9kKGksIHBQYXJhbS54ICk7CisrICB2ZWM0IHAgPSBwZXJtdXRlKCBwZXJtdXRlKCBwZXJtdXRlKAorKyAgICAgICAgICAgICBpLnogKyB2ZWM0KDAuLCBpMS56LCBpMi56LCAxLiApLCBwUGFyYW0ueHl6KQorKyAgICAgICAgICAgKyBpLnkgKyB2ZWM0KDAuLCBpMS55LCBpMi55LCAxLiApLCBwUGFyYW0ueHl6KQorKyAgICAgICAgICAgKyBpLnggKyB2ZWM0KDAuLCBpMS54LCBpMi54LCAxLiApLCBwUGFyYW0ueHl6KTsKKysKKysvLyBHcmFkaWVudHMKKysvLyAoIE4qTiBwb2ludHMgdW5pZm9ybWx5IG92ZXIgYSBzcXVhcmUsIG1hcHBlZCBvbnRvIGEgb2N0b2hlZHJvbi4pCisrICBmbG9hdCBuXyA9IDEuMC9wUGFyYW0udyA7CisrICB2ZWMzIG5zID0gbl8gKiBELnd5eiAtIEQueHp4IDsKKysKKysgIHZlYzQgaiA9IHAgLSBwUGFyYW0udypwUGFyYW0udypmbG9vcihwICogbnMueiAqbnMueik7IC8vIG1vZChwLE4qTikKKysKKysgIHZlYzQgeF8gPSBmbG9vcihqICogbnMueikgOworKyAgdmVjNCB5XyA9IGZsb29yKGogLSBwUGFyYW0udyAqIHhfICkgOyAvLyBtb2QoaixOKQorKworKyAgdmVjNCB4ID0geF8gKm5zLnggKyBucy55eXl5OworKyAgdmVjNCB5ID0geV8gKm5zLnggKyBucy55eXl5OworKyAgdmVjNCBoID0gMS4gLSBhYnMoeCkgLSBhYnMoeSk7CisrCisrICB2ZWM0IGIwID0gdmVjNCggeC54eSwgeS54eSApOworKyAgdmVjNCBiMSA9IHZlYzQoIHguencsIHkuencgKTsKKysKKysgIHZlYzQgczAgPSB2ZWM0KGxlc3NUaGFuKGIwLEQueHh4eCkpICoyLiAtMS47CisrICB2ZWM0IHMxID0gdmVjNChsZXNzVGhhbihiMSxELnh4eHgpKSAqMi4gLTEuOworKyAgdmVjNCBzaCA9IHZlYzQobGVzc1RoYW4oaCwgRC54eHh4KSk7CisrCisrICB2ZWM0IGEwID0gYjAueHp5dyArIHMwLnh6eXcqc2gueHh5eSA7CisrICB2ZWM0IGExID0gYjEueHp5dyArIHMxLnh6eXcqc2guenp3dyA7CisrCisrICB2ZWMzIHAwID0gdmVjMyhhMC54eSxoLngpOworKyAgdmVjMyBwMSA9IHZlYzMoYTAuencsaC55KTsKKysgIHZlYzMgcDIgPSB2ZWMzKGExLnh5LGgueik7CisrICB2ZWMzIHAzID0gdmVjMyhhMS56dyxoLncpOworKworKyNpZmRlZiBOT1JNQUxJU0VfR1JBRElFTlRTCisrICBwMCAqPSB0YXlsb3JJbnZTcXJ0KGRvdChwMCxwMCkpOworKyAgcDEgKj0gdGF5bG9ySW52U3FydChkb3QocDEscDEpKTsKKysgIHAyICo9IHRheWxvckludlNxcnQoZG90KHAyLHAyKSk7CisrICBwMyAqPSB0YXlsb3JJbnZTcXJ0KGRvdChwMyxwMykpOworKyNlbmRpZgorKworKy8vIE1peAorKyAgdmVjNCBtID0gbWF4KDAuNiAtIHZlYzQoZG90KHgwLHgwKSwgZG90KHgxLHgxKSwgZG90KHgyLHgyKSwgZG90KHgzLHgzKSksIDAuKTsKKysgIG0gPSBtICogbTsKKysvL3VzZWQgdG8gYmUgNjQuCisrICByZXR1cm4gNDguMCAqIGRvdCggbSptLCB2ZWM0KCBkb3QocDAseDApLCBkb3QocDEseDEpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG90KHAyLHgyKSwgZG90KHAzLHgzKSApICk7CisrICB9CisrCisrdmVjNCBncmFkNChmbG9hdCBqLCB2ZWM0IGlwKQorKyAgeworKyAgY29uc3QgdmVjNCBvbmVzID0gdmVjNCgxLiwxLiwxLiwtMS4pOworKyAgdmVjNCBwLHM7CisrCisrICBwLnh5eiA9IGZsb29yKCBmcmFjdCAodmVjMyhqKSAqIGlwLnh5eikgKnBQYXJhbS53KSAqIGlwLnogLTEuMDsKKysgIHAudyA9IDEuNSAtIGRvdChhYnMocC54eXopLCBvbmVzLnh5eik7CisrICBzID0gdmVjNChsZXNzVGhhbihwLHZlYzQoMC4pKSk7CisrICBwLnh5eiA9IHAueHl6ICsgKHMueHl6KjIuLTEuKSAqIHMud3d3OworKworKyAgcmV0dXJuIHA7CisrICB9CisrCisrZmxvYXQgc2ltcGxleE5vaXNlNCh2ZWM0IHYpCisrICB7CisrICBjb25zdCB2ZWMyIEMgPSB2ZWMyKCAwLjEzODE5NjYwMTEyNTAxMDUwNCwgLy8gKDUgLSBzcXJ0KDUpKS8yMCBHNAorKyAgICAgICAgICAgICAgICAgICAgICAgIDAuMzA5MDE2OTk0Mzc0OTQ3NDUxKTsgLy8gKHNxcnQoNSkgLSAxKS80IEY0CisrLy8gRmlyc3QgY29ybmVyCisrICB2ZWM0IGkgPSBmbG9vcih2ICsgZG90KHYsIEMueXl5eSkgKTsKKysgIHZlYzQgeDAgPSB2IC0gaSArIGRvdChpLCBDLnh4eHgpOworKworKy8vIE90aGVyIGNvcm5lcnMKKysKKysvLyBGb3JjZSBleGlzdGFuY2Ugb2Ygc3RyaWN0IHRvdGFsIG9yZGVyaW5nIGluIHNvcnQuCisrICB2ZWM0IHEwID0gZmxvb3IoeDAgKiAxMDI0LjApICsgdmVjNCggMC4sIDEuLzQuLCAyLi80LiAsIDMuLzQuKTsKKysgIHZlYzQgcTE7CisrICBxMS54eSA9IG1heChxMC54eSxxMC56dyk7IC8vIHg6eiB5OncKKysgIHExLnp3ID0gbWluKHEwLnh5LHEwLnp3KTsKKysKKysgIHZlYzQgcTI7CisrICBxMi54eiA9IG1heChxMS54eixxMS55dyk7IC8vIHg6eSB6OncKKysgIHEyLnl3ID0gbWluKHExLnh6LHExLnl3KTsKKysgIAorKyAgdmVjNCBxMzsKKysgIHEzLnkgPSBtYXgocTIueSxxMi56KTsgLy8geTp6CisrICBxMy56ID0gbWluKHEyLnkscTIueik7CisrICBxMy54dyA9IHEyLnh3OworKworKyAgdmVjNCBpMSA9IHZlYzQobGVzc1RoYW5FcXVhbChxMy54eHh4LCBxMCkpOworKyAgdmVjNCBpMiA9IHZlYzQobGVzc1RoYW5FcXVhbChxMy55eXl5LCBxMCkpOworKyAgdmVjNCBpMyA9IHZlYzQobGVzc1RoYW5FcXVhbChxMy56enp6LCBxMCkpOworKworKyAgIC8vIHgwID0geDAgLSAwLiArIDAuICogQworKyAgdmVjNCB4MSA9IHgwIC0gaTEgKyAxLiAqIEMueHh4eDsKKysgIHZlYzQgeDIgPSB4MCAtIGkyICsgMi4gKiBDLnh4eHg7CisrICB2ZWM0IHgzID0geDAgLSBpMyArIDMuICogQy54eHh4OworKyAgdmVjNCB4NCA9IHgwIC0gMS4gKyA0LiAqIEMueHh4eDsKKysKKysvLyBQZXJtdXRhdGlvbnMKKysgIGkgPSBtb2QoaSwgcFBhcmFtLnggKTsKKysgIGZsb2F0IGowID0gcGVybXV0ZSggcGVybXV0ZSggcGVybXV0ZSggcGVybXV0ZSAoCisrICAgICAgICAgICAgICBpLncsIHBQYXJhbS54eXopICsgaS56LCBwUGFyYW0ueHl6KQorKyAgICAgICAgICAgICsgaS55LCBwUGFyYW0ueHl6KSArIGkueCwgcFBhcmFtLnh5eik7CisrICB2ZWM0IGoxID0gcGVybXV0ZSggcGVybXV0ZSggcGVybXV0ZSggcGVybXV0ZSAoCisrICAgICAgICAgICAgIGkudyArIHZlYzQoaTEudywgaTIudywgaTMudywgMS4gKSwgcFBhcmFtLnh5eikKKysgICAgICAgICAgICsgaS56ICsgdmVjNChpMS56LCBpMi56LCBpMy56LCAxLiApLCBwUGFyYW0ueHl6KQorKyAgICAgICAgICAgKyBpLnkgKyB2ZWM0KGkxLnksIGkyLnksIGkzLnksIDEuICksIHBQYXJhbS54eXopCisrICAgICAgICAgICArIGkueCArIHZlYzQoaTEueCwgaTIueCwgaTMueCwgMS4gKSwgcFBhcmFtLnh5eik7CisrLy8gR3JhZGllbnRzCisrLy8gKCBOKk4qTiBwb2ludHMgdW5pZm9ybWx5IG92ZXIgYSBjdWJlLCBtYXBwZWQgb250byBhIDQtb2N0b2hlZHJvbi4pCisrICB2ZWM0IGlwID0gcFBhcmFtIDsKKysgIGlwLnh5ICo9IHBQYXJhbS53IDsKKysgIGlwLnggKj0gcFBhcmFtLncgOworKyAgaXAgPSB2ZWM0KDEuLDEuLDEuLDIuKSAvIGlwIDsKKysKKysgIHZlYzQgcDAgPSBncmFkNChqMCwgaXApOworKyAgdmVjNCBwMSA9IGdyYWQ0KGoxLngsIGlwKTsKKysgIHZlYzQgcDIgPSBncmFkNChqMS55LCBpcCk7CisrICB2ZWM0IHAzID0gZ3JhZDQoajEueiwgaXApOworKyAgdmVjNCBwNCA9IGdyYWQ0KGoxLncsIGlwKTsKKysKKysjaWZkZWYgTk9STUFMSVNFX0dSQURJRU5UUworKyAgcDAgKj0gdGF5bG9ySW52U3FydChkb3QocDAscDApKTsKKysgIHAxICo9IHRheWxvckludlNxcnQoZG90KHAxLHAxKSk7CisrICBwMiAqPSB0YXlsb3JJbnZTcXJ0KGRvdChwMixwMikpOworKyAgcDMgKj0gdGF5bG9ySW52U3FydChkb3QocDMscDMpKTsKKysgIHA0ICo9IHRheWxvckludlNxcnQoZG90KHA0LHA0KSk7CisrI2VuZGlmCisrCisrLy8gTWl4CisrICB2ZWMzIG0wID0gbWF4KDAuNiAtIHZlYzMoZG90KHgwLHgwKSwgZG90KHgxLHgxKSwgZG90KHgyLHgyKSksIDAuKTsKKysgIHZlYzIgbTEgPSBtYXgoMC42IC0gdmVjMihkb3QoeDMseDMpLCBkb3QoeDQseDQpICksIDAuKTsKKysgIG0wID0gbTAgKiBtMDsKKysgIG0xID0gbTEgKiBtMTsKKysgIHJldHVybiAzMi4gKiAoIGRvdChtMCptMCwgdmVjMyggZG90KCBwMCwgeDAgKSwgZG90KCBwMSwgeDEgKSwgZG90KCBwMiwgeDIgKSkpCisrICAgICAgICAgICAgICAgKyBkb3QobTEqbTEsIHZlYzIoIGRvdCggcDMsIHgzICksIGRvdCggcDQsIHg0ICkgKSApICkgOworKworKyAgfQorKworKworKworZGlmZiAtLWdpdCBhL3NyYy9nbHNsL3NraW5uaW5nLnZlcnQgYi9zcmMvZ2xzbC9za2lubmluZy52ZXJ0CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMjg5NzBlZQorLS0tIC9kZXYvbnVsbAorKysrIGIvc3JjL2dsc2wvc2tpbm5pbmcudmVydAorQEAgLTAsMCArMSwyNCBAQAorKy8vIFZlcnRleCB3ZWlnaHRpbmcvYmxlbmRpbiBzaGFkZXIKKysvLyBCcmlhbiBQYXVsCisrLy8gNCBOb3YgMjAwOAorKworK3VuaWZvcm0gbWF0NCBtYXQwLCBtYXQxOworK2F0dHJpYnV0ZSBmbG9hdCB3ZWlnaHQ7CisrCisrdm9pZCBtYWluKCkgCisreworKyAgIC8vIHNpbXBsZSBkaWZmdXNlIHNoYWRpbmcKKysgICAvLyBOb3RlIHRoYXQgd2Ugc2hvdWxkIHJlYWxseSB0cmFuc2Zvcm0gdGhlIG5vcm1hbCB2ZWN0b3IgYWxvbmcgd2l0aAorKyAgIC8vIHRoZSBwb3N0aW9uIGJlbG93Li4uIHNvbWVkYXkuCisrICAgdmVjMyBsaWdodFZlYyA9IHZlYzMoMCwgMCwgMSk7CisrICAgdmVjMyBub3JtID0gZ2xfTm9ybWFsTWF0cml4ICogZ2xfTm9ybWFsOworKyAgIGZsb2F0IGRvdCA9IDAuMiArIG1heCgwLjAsIGRvdChub3JtLCBsaWdodFZlYykpOworKyAgIGdsX0Zyb250Q29sb3IgPSB2ZWM0KGRvdCk7CisrCisrICAgLy8gY29tcHV0ZSBzdW0gb2Ygd2VpZ2h0ZWQgdHJhbnNmb3JtYXRpb25zCisrICAgdmVjNCBwb3MwID0gbWF0MCAqIGdsX1ZlcnRleDsKKysgICB2ZWM0IHBvczEgPSBtYXQxICogZ2xfVmVydGV4OworKyAgIHZlYzQgcG9zID0gbWl4KHBvczAsIHBvczEsIHdlaWdodCk7CisrCisrICAgZ2xfUG9zaXRpb24gPSBnbF9Nb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4ICogcG9zOworK30KK2RpZmYgLS1naXQgYS9zcmMvcGVyZi9nbHNsc3RhdGVzY2hhbmdlMS5mcmFnIGIvc3JjL3BlcmYvZ2xzbHN0YXRlc2NoYW5nZTEuZnJhZworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjA4Mzk0MzYKKy0tLSAvZGV2L251bGwKKysrKyBiL3NyYy9wZXJmL2dsc2xzdGF0ZXNjaGFuZ2UxLmZyYWcKK0BAIC0wLDAgKzEsMTkgQEAKKysvLyBNdWx0aS10ZXh0dXJlIGZyYWdtZW50IHNoYWRlcgorKy8vIEJyaWFuIFBhdWwKKysKKysvLyBDb21wb3NpdGUgc2Vjb25kIHRleHR1cmUgb3ZlciBmaXJzdC4KKysvLyBXZSdyZSBhc3N1bWluZyB0aGUgMm5kIHRleHR1cmUgaGFzIGEgbWVhbmluZ2Z1bCBhbHBoYSBjaGFubmVsLgorKworK3VuaWZvcm0gc2FtcGxlcjJEIHRleDE7CisrdW5pZm9ybSBzYW1wbGVyMkQgdGV4MjsKKyt1bmlmb3JtIHZlYzQgVW5pVjE7CisrdW5pZm9ybSB2ZWM0IFVuaVYyOworKworK3ZvaWQgbWFpbigpCisreworKyAgIHZlYzQgdDM7CisrICAgdmVjNCB0MSA9IHRleHR1cmUyRCh0ZXgxLCBnbF9UZXhDb29yZFswXS54eSk7CisrICAgdmVjNCB0MiA9IHRleHR1cmUyRCh0ZXgyLCBnbF9UZXhDb29yZFsxXS54eSk7CisrICAgdDMgPSBtaXgodDEsIHQyLCB0Mi53KTsKKysgICBnbF9GcmFnQ29sb3IgPSB0MyArIFVuaVYxICsgVW5pVjI7CisrfQorZGlmZiAtLWdpdCBhL3NyYy9wZXJmL2dsc2xzdGF0ZXNjaGFuZ2UxLnZlcnQgYi9zcmMvcGVyZi9nbHNsc3RhdGVzY2hhbmdlMS52ZXJ0CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uY2VmNTBkYgorLS0tIC9kZXYvbnVsbAorKysrIGIvc3JjL3BlcmYvZ2xzbHN0YXRlc2NoYW5nZTEudmVydAorQEAgLTAsMCArMSwxNCBAQAorKy8vIE11bHRpLXRleHR1cmUgdmVydGV4IHNoYWRlcgorKy8vIEJyaWFuIFBhdWwKKysKKysKKythdHRyaWJ1dGUgdmVjNCBUZXhDb29yZDAsIFRleENvb3JkMTsKKythdHRyaWJ1dGUgdmVjNCBWZXJ0Q29vcmQ7CisrCisrdm9pZCBtYWluKCkKKyt7CisrICAgZ2xfVGV4Q29vcmRbMF0gPSBUZXhDb29yZDA7CisrICAgZ2xfVGV4Q29vcmRbMV0gPSBUZXhDb29yZDE7CisrICAgLy8gbm90ZTogbWF5IHVzZSBnbF9WZXJ0ZXggb3IgVmVydENvb3JkIGhlcmUgZm9yIHRlc3Rpbmc6CisrICAgZ2xfUG9zaXRpb24gPSBnbF9Nb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4ICogZ2xfVmVydGV4OworK30KK2RpZmYgLS1naXQgYS9zcmMvcGVyZi9nbHNsc3RhdGVzY2hhbmdlMi5mcmFnIGIvc3JjL3BlcmYvZ2xzbHN0YXRlc2NoYW5nZTIuZnJhZworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjBkZjAzMTkKKy0tLSAvZGV2L251bGwKKysrKyBiL3NyYy9wZXJmL2dsc2xzdGF0ZXNjaGFuZ2UyLmZyYWcKK0BAIC0wLDAgKzEsMTcgQEAKKysvLyBNdWx0aS10ZXh0dXJlIGZyYWdtZW50IHNoYWRlcgorKy8vIEJyaWFuIFBhdWwKKysKKysvLyBDb21wb3NpdGUgc2Vjb25kIHRleHR1cmUgb3ZlciBmaXJzdC4KKysvLyBXZSdyZSBhc3N1bWluZyB0aGUgMm5kIHRleHR1cmUgaGFzIGEgbWVhbmluZ2Z1bCBhbHBoYSBjaGFubmVsLgorKworK3VuaWZvcm0gc2FtcGxlcjJEIHRleDE7CisrdW5pZm9ybSBzYW1wbGVyMkQgdGV4MjsKKyt1bmlmb3JtIHZlYzQgVW5pVjE7CisrdW5pZm9ybSB2ZWM0IFVuaVYyOworKworK3ZvaWQgbWFpbigpCisreworKyAgIHZlYzQgdDEgPSB0ZXh0dXJlMkQodGV4MSwgZ2xfVGV4Q29vcmRbMF0ueHkpOworKyAgIHZlYzQgdDIgPSB0ZXh0dXJlMkQodGV4MiwgZ2xfVGV4Q29vcmRbMV0ueHkpOworKyAgIGdsX0ZyYWdDb2xvciA9IHQxICsgdDIgKyBVbmlWMSArIFVuaVYyOworK30KK2RpZmYgLS1naXQgYS9zcmMvcGVyZi9nbHNsc3RhdGVzY2hhbmdlMi52ZXJ0IGIvc3JjL3BlcmYvZ2xzbHN0YXRlc2NoYW5nZTIudmVydAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmNlZjUwZGIKKy0tLSAvZGV2L251bGwKKysrKyBiL3NyYy9wZXJmL2dsc2xzdGF0ZXNjaGFuZ2UyLnZlcnQKK0BAIC0wLDAgKzEsMTQgQEAKKysvLyBNdWx0aS10ZXh0dXJlIHZlcnRleCBzaGFkZXIKKysvLyBCcmlhbiBQYXVsCisrCisrCisrYXR0cmlidXRlIHZlYzQgVGV4Q29vcmQwLCBUZXhDb29yZDE7CisrYXR0cmlidXRlIHZlYzQgVmVydENvb3JkOworKworK3ZvaWQgbWFpbigpCisreworKyAgIGdsX1RleENvb3JkWzBdID0gVGV4Q29vcmQwOworKyAgIGdsX1RleENvb3JkWzFdID0gVGV4Q29vcmQxOworKyAgIC8vIG5vdGU6IG1heSB1c2UgZ2xfVmVydGV4IG9yIFZlcnRDb29yZCBoZXJlIGZvciB0ZXN0aW5nOgorKyAgIGdsX1Bvc2l0aW9uID0gZ2xfTW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeCAqIGdsX1ZlcnRleDsKKyt9CitkaWZmIC0tZ2l0IGEvc3JjL3ZwZ2xzbC9pbmZpbml0ZS1sb29wLmdsc2wgYi9zcmMvdnBnbHNsL2luZmluaXRlLWxvb3AuZ2xzbAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmJjN2FlNGIKKy0tLSAvZGV2L251bGwKKysrKyBiL3NyYy92cGdsc2wvaW5maW5pdGUtbG9vcC5nbHNsCitAQCAtMCwwICsxLDggQEAKKyt2b2lkIG1haW4oKSB7CisrICAgZ2xfUG9zaXRpb24gPSBnbF9WZXJ0ZXg7CisrICAgdmVjNCBzdW0gPSB2ZWM0KDApOworKyAgIGZvciAoaW50IGkgPSAxOyBpICE9IDI7IGkgKz0gMikgeworKyAgICAgIHN1bSArPSB2ZWM0KDAuMSwgMC4xLCAwLjEsIDAuMSk7CisrICAgfQorKyAgIGdsX0Zyb250Q29sb3IgPSBzdW07CisrfQorLS0gCisyLjAuMAorCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWRlbW9zLzAwMDItQ29ycmVjdGx5LWltcGxlbWVudC13aXRoLUFDX1dJVEgtZ2x1dC1zby10aGF0LXdpdGhvdS5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZGVtb3MvMDAwMi1Db3JyZWN0bHktaW1wbGVtZW50LXdpdGgtQUNfV0lUSC1nbHV0LXNvLXRoYXQtd2l0aG91LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5NmFmMTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWRlbW9zLzAwMDItQ29ycmVjdGx5LWltcGxlbWVudC13aXRoLUFDX1dJVEgtZ2x1dC1zby10aGF0LXdpdGhvdS5wYXRjaApAQCAtMCwwICsxLDU0IEBACitGcm9tIDM2ODI5YThkN2FkMjg4ODUxNWZiZWU5NWMyYTcwYjNkNjM2ZDc1MzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorRGF0ZTogV2VkLCA5IEp1bCAyMDE0IDE0OjMwOjMzICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMi85XSBDb3JyZWN0bHkgaW1wbGVtZW50IHdpdGggQUNfV0lUSChnbHV0KSBzbyB0aGF0CisgLS13aXRob3V0LWdsdXQgd29ya3MuCisKKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDI2ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBjNGVlMTJiLi45NDQ1NDI0IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC02NywyMSArNjcsMjUgQEAgREVNT19DRkxBR1M9IiRERU1PX0NGTEFHUyAkR0xfQ0ZMQUdTIgorIERFTU9fTElCUz0iJERFTU9fTElCUyAkR0xfTElCUyIKKyAKKyBkbmwgQ2hlY2sgZm9yIEdMVVQKKy1HTFVUX0NGTEFHUz0iIgorLUdMVVRfTElCUz0tbGdsdXQKKy1nbHV0X2VuYWJsZWQ9eWVzCisrZ2x1dF9lbmFibGVkPW5vCisgQUNfQVJHX1dJVEgoW2dsdXRdLAorIAlbQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1nbHV0PURJUl0sCisgCQkJW2dsdXQgaW5zdGFsbCBkaXJlY3RvcnldKV0sCisgCVtHTFVUX0NGTEFHUz0iLUkkd2l0aHZhbC9pbmNsdWRlIgorLQkgR0xVVF9MSUJTPSItTCR3aXRodmFsL2xpYiAtbGdsdXQiXSkKKy1BQ19DSEVDS19IRUFERVIoW0dML2dsdXQuaF0sCistCQlbXSwKKy0JCVtnbHV0X2VuYWJsZWQ9bm9dKQorLUFDX0NIRUNLX0xJQihbZ2x1dF0sCistCQlbZ2x1dEluaXRdLAorLQkJW10sCistCQlbZ2x1dF9lbmFibGVkPW5vXSkKKysJIEdMVVRfTElCUz0iLUwkd2l0aHZhbC9saWIgLWxnbHV0Il0sCisrCVtHTFVUX0NGTEFHUz0iIgorKwkgR0xVVF9MSUJTPSItbGdsdXQiXQorKyAgICAgICAgKQorK0FTX0lGKFt0ZXN0ICJ4JHdpdGhfZ2x1dCIgIT0geG5vXSwKKysgICAgICBbQUNfQ0hFQ0tfSEVBREVSKFtHTC9nbHV0LmhdLAorKyAgICAgICAgICAgICAgICAgICAgICAgW10sCisrICAgICAgICAgICAgICAgICAgICAgICBbZ2x1dF9lbmFibGVkPW5vXSkKKysgICAgICAgQUNfQ0hFQ0tfTElCKFtnbHV0XSwKKysgICAgICAgICAgICAgICAgICAgIFtnbHV0SW5pdF0sCisrICAgICAgICAgICAgICAgICAgICBbXSwKKysgICAgICAgICAgICAgICAgICAgIFtnbHV0X2VuYWJsZWQ9bm9dKQorKyAgICAgICBnbHV0X2VuYWJsZWQ9eWVzCisrXSkKKyAKKyBkbmwgQ2hlY2sgZm9yIEZyZWVHTFVUIDIuNiBvciBsYXRlcgorIEFDX0VHUkVQX0hFQURFUihbZ2x1dEluaXRDb250ZXh0UHJvZmlsZV0sCistLSAKKzIuMC4wCisKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZGVtb3MvMDAwMy1jb25maWd1cmUtQWxsb3ctdG8tZGlzYWJsZS1kZW1vcy13aGljaC1yZXF1aXJlLUdMRVctLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1kZW1vcy8wMDAzLWNvbmZpZ3VyZS1BbGxvdy10by1kaXNhYmxlLWRlbW9zLXdoaWNoLXJlcXVpcmUtR0xFVy0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmI1OGMyYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZGVtb3MvMDAwMy1jb25maWd1cmUtQWxsb3ctdG8tZGlzYWJsZS1kZW1vcy13aGljaC1yZXF1aXJlLUdMRVctLnBhdGNoCkBAIC0wLDAgKzEsNDI0IEBACitGcm9tIGIyNWU5YzY3NWNmNTYwYjhiMDM3ZGM4NTVjNmIzYjFkMDk5NTc4NjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDkgSnVsIDIwMTQgMTQ6MjM6NDEgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAzLzldIGNvbmZpZ3VyZTogQWxsb3cgdG8gZGlzYWJsZSBkZW1vcyB3aGljaCByZXF1aXJlIEdMRVcgb3IKKyBHTFUKKworKiBpbiBzb21lIHN5c3RlbXMgd2l0aG91dCBYMTEgc3VwcG9ydCB3ZSBkb24ndCBoYXZlIEdMRVcsIGJ1dAorICBtZXNhLWRlbW9zIGFyZSBzdGlsbCB1c2VmdWwKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICAgIHwgNDkgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KKyBzcmMvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICB8IDE0ICsrKysrKy0tLQorIHNyYy9kZW1vcy9NYWtlZmlsZS5hbSAgICAgICAgIHwgNzMgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLQorIHNyYy9lZ2wvTWFrZWZpbGUuYW0gICAgICAgICAgIHwgIDggKysrLS0KKyBzcmMvZWdsL29wZW5nbGVzMS9NYWtlZmlsZS5hbSB8IDQ0ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCisgc3JjL2VnbC9vcGVuZ2xlczIvTWFrZWZpbGUuYW0gfCAzMyArKysrKysrKysrLS0tLS0tLS0tCisgNiBmaWxlcyBjaGFuZ2VkLCAxMzUgaW5zZXJ0aW9ucygrKSwgODYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDk0NDU0MjQuLmJjNGM4ZDEgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTkzLDI1ICs5Myw0NCBAQCBBQ19FR1JFUF9IRUFERVIoW2dsdXRJbml0Q29udGV4dFByb2ZpbGVdLAorIAkJW0FDX0RFRklORShIQVZFX0ZSRUVHTFVUKV0sCisgCQlbXSkKKyAKKy1kbmwgQ2hlY2sgZm9yIEdMRVcKKy1QS0dfQ0hFQ0tfTU9EVUxFUyhHTEVXLCBbZ2xldyA+PSAxLjUuNF0pCistREVNT19DRkxBR1M9IiRERU1PX0NGTEFHUyAkR0xFV19DRkxBR1MiCistREVNT19MSUJTPSIkREVNT19MSUJTICRHTEVXX0xJQlMiCisrQUNfQVJHX0VOQUJMRShbZ2xld10sCisrICAgIFtBU19IRUxQX1NUUklORyhbLS1lbmFibGUtZ2xld10sCisrICAgICAgICBbYnVpbGQgZGVtb3Mgd2hpY2ggcmVxdWlyZSBnbGV3IEA8OkBkZWZhdWx0PXllc0A6PkBdKV0sCisrICAgIFtlbmFibGVfZ2xldz0iJGVuYWJsZXZhbCJdLAorKyAgICBbZW5hYmxlX2dsZXc9eWVzXQorKykKKysKKytpZiB0ZXN0ICJ4JGVuYWJsZV9nbGV3IiA9IHh5ZXM7IHRoZW4KKysgICAgZG5sIENoZWNrIGZvciBHTEVXCisrICAgIFBLR19DSEVDS19NT0RVTEVTKEdMRVcsIFtnbGV3ID49IDEuNS40XSwgW2dsZXdfZW5hYmxlZD15ZXNdLCBbZ2xld19lbmFibGVkPW5vXSkKKysgICAgREVNT19DRkxBR1M9IiRERU1PX0NGTEFHUyAkR0xFV19DRkxBR1MiCisrICAgIERFTU9fTElCUz0iJERFTU9fTElCUyAkR0xFV19MSUJTIgorK2ZpCisgCisgIyBMSUJTIHdhcyBzZXQgYnkgQUNfQ0hFQ0tfTElCIGFib3ZlCisgTElCUz0iIgorIAorLVBLR19DSEVDS19NT0RVTEVTKEdMVSwgW2dsdV0sIFtdLAorLQkJICBbQUNfQ0hFQ0tfSEVBREVSKFtHTC9nbHUuaF0sCistCQkJCSAgIFtdLAorLQkJICAJCSAgIEFDX01TR19FUlJPUihbR0xVIG5vdCBmb3VuZF0pKQorLQkJICAgQUNfQ0hFQ0tfTElCKFtHTFVdLAorLQkJCQlbZ2x1QmVnaW5DdXJ2ZV0sCistCQkJCVtHTFVfTElCUz0tbEdMVV0sCistCQkJCUFDX01TR19FUlJPUihbR0xVIHJlcXVpcmVkXSkpIF0pCisrQUNfQVJHX0VOQUJMRShbZ2x1XSwKKysgICAgW0FTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1nbHVdLAorKyAgICAgICAgW2J1aWxkIGRlbW9zIHdoaWNoIHJlcXVpcmUgZ2x1IEA8OkBkZWZhdWx0PXllc0A6PkBdKV0sCisrICAgIFtlbmFibGVfZ2x1PSIkZW5hYmxldmFsIl0sCisrICAgIFtlbmFibGVfZ2x1PXllc10KKyspCisgCistREVNT19DRkxBR1M9IiRERU1PX0NGTEFHUyAkR0xVX0NGTEFHUyIKKy1ERU1PX0xJQlM9IiRERU1PX0xJQlMgJEdMVV9MSUJTIgorK2lmIHRlc3QgIngkZW5hYmxlX2dsdSIgPSB4eWVzOyB0aGVuCisrICAgIFBLR19DSEVDS19NT0RVTEVTKEdMVSwgW2dsdV0sIFtnbHVfZW5hYmxlZD15ZXNdLAorKyAgICAgICAgICAgICAgICAgICAgIFtBQ19DSEVDS19IRUFERVIoW0dML2dsdS5oXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtdLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQUNfTVNHX0VSUk9SKFtHTFUgbm90IGZvdW5kXSkpCisrICAgICAgICAgICAgICAgICAgICAgIEFDX0NIRUNLX0xJQihbR0xVXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtnbHVCZWdpbkN1cnZlXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtHTFVfTElCUz0tbEdMVQorKwkJCQkgICAgZ2x1X2VuYWJsZWQ9eWVzXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFDX01TR19FUlJPUihbR0xVIHJlcXVpcmVkXSkpIF0pCisrCisrICAgIERFTU9fQ0ZMQUdTPSIkREVNT19DRkxBR1MgJEdMVV9DRkxBR1MiCisrICAgIERFTU9fTElCUz0iJERFTU9fTElCUyAkR0xVX0xJQlMiCisrZmkKKyAKKyBBQ19BUkdfRU5BQkxFKFtlZ2xdLAorICAgICBbQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWVnbF0sCitAQCAtMzA0LDYgKzMyMyw4IEBAIEFDX1NVQlNUKFtXQVlMQU5EX0NGTEFHU10pCisgQUNfU1VCU1QoW1dBWUxBTkRfTElCU10pCisgCisgCisrQU1fQ09ORElUSU9OQUwoSEFWRV9HTFUsIHRlc3QgIngkZ2x1X2VuYWJsZWQiID0gInh5ZXMiKQorK0FNX0NPTkRJVElPTkFMKEhBVkVfR0xFVywgdGVzdCAieCRnbGV3X2VuYWJsZWQiID0gInh5ZXMiKQorIEFNX0NPTkRJVElPTkFMKEhBVkVfRUdMLCB0ZXN0ICJ4JGVnbF9lbmFibGVkIiA9ICJ4eWVzIikKKyBBTV9DT05ESVRJT05BTChIQVZFX0dMRVNWMSwgdGVzdCAieCRnbGVzdjFfZW5hYmxlZCIgPSAieHllcyIpCisgQU1fQ09ORElUSU9OQUwoSEFWRV9HTEVTVjIsIHRlc3QgIngkZ2xlc3YyX2VuYWJsZWQiID0gInh5ZXMiKQorZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5hbSBiL3NyYy9NYWtlZmlsZS5hbQoraW5kZXggMTY0N2Q2NC4uNzU0YzQ3YyAxMDA2NDQKKy0tLSBhL3NyYy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL01ha2VmaWxlLmFtCitAQCAtMjMsMTQgKzIzLDE4IEBACisgIyAgICBFcmljIEFuaG9sdCA8ZXJpY0BhbmhvbHQubmV0PgorIAorK2lmIEhBVkVfR0xFVworK1VUSUwgPSB1dGlsCisrZW5kaWYKKysKKyBTVUJESVJTID0gXAorLQl1dGlsIFwKKysJJChVVElMKSBcCisgCWRhdGEgXAorIAlkZW1vcyBcCisgCWVnbCBcCisgCWZwIFwKKyAJZnBnbHNsIFwKKyAJZ2xzbCBcCistICAgICAgICBncyBcCisrCWdzIFwKKyAJb2Jqdmlld2VyIFwKKyAJb3NkZW1vcyBcCisgCXBlcmYgXAorQEAgLTQwLDggKzM5LDEyIEBAIFNVQkRJUlMgPSBcCisgCXNsYW5nIFwKKyAJdGVzdHMgXAorIAl0b29scyBcCistCXRyaXZpYWwgXAorLQl2cCBcCistCXZwZ2xzbCBcCisgCXdnbCBcCisgCXhkZW1vcworKworK2lmIEhBVkVfR0xFVworK1NVQkRJUlMgKz0gXAorKwl2cCBcCisrCXZwZ2xzbCBcCisrCXRyaXZpYWwKKytlbmRpZgorZGlmZiAtLWdpdCBhL3NyYy9kZW1vcy9NYWtlZmlsZS5hbSBiL3NyYy9kZW1vcy9NYWtlZmlsZS5hbQoraW5kZXggNDE2MDNmYS4uYWIxZTNhYiAxMDA2NDQKKy0tLSBhL3NyYy9kZW1vcy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL2RlbW9zL01ha2VmaWxlLmFtCitAQCAtMzAsOTEgKzMwLDEwMCBAQCBBTV9MREZMQUdTID0gXAorIAkkKERFTU9fTElCUykgXAorIAkkKEdMVVRfTElCUykKKyAKKytiaW5fUFJPR1JBTVMgPQorKworIGlmIEhBVkVfR0xVVAorLWJpbl9QUk9HUkFNUyA9IFwKKytpZiBIQVZFX0dMRVcKKytiaW5fUFJPR1JBTVMgKz0gXAorIAlhcmJmcGxpZ2h0IFwKKyAJYXJiZnNsaWdodCBcCisgCWFyYm9jY2x1ZGUgXAorIAlhcmJvY2NsdWRlMiBcCistCWJvdW5jZSBcCistCWNsZWFyc3BkIFwKKyAJY29weXBpeCBcCisgCWN1YmVtYXAgXAorIAljdWJlcmVuZGVyIFwKKyAJZGlub3NoYWRlIFwKKy0JZGlzc29sdmUgXAorLQlkcmF3cGl4IFwKKyAJZW5naW5lIFwKKyAJZmJvX2ZpcmVjdWJlIFwKKyAJZmJvdGV4dHVyZSBcCistCWZpcmUgXAorIAlmb2djb29yZCBcCisgCWZwbGlnaHQgXAorIAlmc2xpZ2h0IFwKKysJZ2xvc3MgXAorKwlpc29zdXJmIFwKKysJbXVsdGlhcmIgXAorKwlwYWx0ZXggXAorKwlwb2ludGJsYXN0IFwKKysJcHJvanRleCBcCisrCXNoYWRvd3RleCBcCisrCXNwcml0ZWJsYXN0IFwKKysJc3RleDNkIFwKKysJdGV4dHVyZXMgXAorKwl2YW9fZGVtbyBcCisrCXdpbnBvcworKworK2NvcHlwaXhfTERBREQgPSAuLi91dGlsL2xpYnV0aWwubGEKKytjdWJlbWFwX0xEQUREID0gLi4vdXRpbC9saWJ1dGlsLmxhCisrY3ViZXJlbmRlcl9MREFERCA9IC4uL3V0aWwvbGlidXRpbC5sYQorK2VuZ2luZV9MREFERCA9IC4uL3V0aWwvbGlidXRpbC5sYQorK2Zib19maXJlY3ViZV9MREFERCA9IC4uL3V0aWwvbGlidXRpbC5sYQorK2dsb3NzX0xEQUREID0gLi4vdXRpbC9saWJ1dGlsLmxhCisraXNvc3VyZl9MREFERCA9IC4uL3V0aWwvbGlidXRpbC5sYQorK211bHRpYXJiX0xEQUREID0gLi4vdXRpbC9saWJ1dGlsLmxhCisrcHJvanRleF9MREFERCA9IC4uL3V0aWwvbGlidXRpbC5sYQorK3RleHR1cmVzX0xEQUREID0gLi4vdXRpbC9saWJ1dGlsLmxhCisrd2lucG9zX0xEQUREID0gLi4vdXRpbC9saWJ1dGlsLmxhCisrZW5kaWYKKysKKytpZiBIQVZFX0dMVQorK2Jpbl9QUk9HUkFNUyArPSBcCisrCWJvdW5jZSBcCisrCWNsZWFyc3BkIFwKKysJZGlzc29sdmUgXAorKwlkcmF3cGl4IFwKKysJZmlyZSBcCisgCWdhbW1hIFwKKyAJZ2VhcmJveCBcCisgCWdlYXJzIFwKKyAJZ2VhcnRyYWluIFwKKyAJZ2xpbmZvIFwKKy0JZ2xvc3MgXAorIAlnbHRlc3RwZXJmIFwKKyAJaXBlcnMgXAorLQlpc29zdXJmIFwKKyAJbG9kYmlhcyBcCisgCW1vcnBoM2QgXAorLQltdWx0aWFyYiBcCistCXBhbHRleCBcCisgCXBpeGVsdGVzdCBcCistCXBvaW50Ymxhc3QgXAorLQlwcm9qdGV4IFwKKyAJcmF5IFwKKyAJcmVhZHBpeCBcCisgCXJlZmxlY3QgXAorIAlyZW5vcm1hbCBcCistCXNoYWRvd3RleCBcCisgCXNpbmdsZWJ1ZmZlciBcCisgCXNwZWN0ZXggXAorLQlzcHJpdGVibGFzdCBcCistCXN0ZXgzZCBcCisgCXRlYXBvdCBcCisgCXRlcnJhaW4gXAorIAl0ZXNzZGVtbyBcCisgCXRleGN5bCBcCisgCXRleGVudiBcCistCXRleHR1cmVzIFwKKyAJdHJpc3BkIFwKKyAJdHVubmVsMiBcCistCXR1bm5lbCBcCistCXZhb19kZW1vIFwKKy0Jd2lucG9zCistZW5kaWYKKysJdHVubmVsCisgCisgdHVubmVsX1NPVVJDRVMgPSBcCisgCXR1bm5lbC5jIFwKKyAJdHVubmVsZGF0LmgKKyAKKy1jb3B5cGl4X0xEQUREID0gLi4vdXRpbC9saWJ1dGlsLmxhCistY3ViZW1hcF9MREFERCA9IC4uL3V0aWwvbGlidXRpbC5sYQorLWN1YmVyZW5kZXJfTERBREQgPSAuLi91dGlsL2xpYnV0aWwubGEKKy1kcmF3cGl4X0xEQUREID0gLi4vdXRpbC9saWJ1dGlsLmxhCisgZGlzc29sdmVfTERBREQgPSAuLi91dGlsL2xpYnV0aWwubGEKKy1lbmdpbmVfTERBREQgPSAuLi91dGlsL2xpYnV0aWwubGEKKy1mYm9fZmlyZWN1YmVfTERBREQgPSAuLi91dGlsL2xpYnV0aWwubGEKKytkcmF3cGl4X0xEQUREID0gLi4vdXRpbC9saWJ1dGlsLmxhCisgZmlyZV9MREFERCA9IC4uL3V0aWwvbGlidXRpbC5sYQorLWdsb3NzX0xEQUREID0gLi4vdXRpbC9saWJ1dGlsLmxhCisgaXBlcnNfTERBREQgPSAuLi91dGlsL2xpYnV0aWwubGEKKy1pc29zdXJmX0xEQUREID0gLi4vdXRpbC9saWJ1dGlsLmxhCisgbG9kYmlhc19MREFERCA9IC4uL3V0aWwvbGlidXRpbC5sYQorLW11bHRpYXJiX0xEQUREID0gLi4vdXRpbC9saWJ1dGlsLmxhCistcHJvanRleF9MREFERCA9IC4uL3V0aWwvbGlidXRpbC5sYQorIHJlYWRwaXhfTERBREQgPSAuLi91dGlsL2xpYnV0aWwubGEKKyByZWZsZWN0X0xEQUREID0gLi4vdXRpbC9saWJ1dGlsLmxhCisgdGVhcG90X0xEQUREID0gLi4vdXRpbC9saWJ1dGlsLmxhCisgdGV4Y3lsX0xEQUREID0gLi4vdXRpbC9saWJ1dGlsLmxhCistdGV4dHVyZXNfTERBREQgPSAuLi91dGlsL2xpYnV0aWwubGEKKyB0dW5uZWxfTERBREQgPSAuLi91dGlsL2xpYnV0aWwubGEKKyB0dW5uZWwyX0xEQUREID0gLi4vdXRpbC9saWJ1dGlsLmxhCistd2lucG9zX0xEQUREID0gLi4vdXRpbC9saWJ1dGlsLmxhCisrZW5kaWYKKytlbmRpZgorIAorIEVYVFJBX0RJU1QgPSBcCisgCVJFQURNRQorZGlmZiAtLWdpdCBhL3NyYy9lZ2wvTWFrZWZpbGUuYW0gYi9zcmMvZWdsL01ha2VmaWxlLmFtCitpbmRleCBkNjRhNDllLi40ZmUxY2E4IDEwMDY0NAorLS0tIGEvc3JjL2VnbC9NYWtlZmlsZS5hbQorKysrIGIvc3JjL2VnbC9NYWtlZmlsZS5hbQorQEAgLTI0LDggKzI0LDEyIEBACisgCisgU1VCRElSUyA9IFwKKyAJZWdsdXQgXAorLQlvcGVuZ2wgXAorLQlvcGVudmcgXAorIAlvcGVuZ2xlczEgXAorIAlvcGVuZ2xlczIgXAorIAlvZXNfdmcKKysKKytpZiBIQVZFX0dMVQorK1NVQkRJUlMgKz0gXAorKwlvcGVuZ2wgXAorKwlvcGVudmcKKytlbmRpZgorZGlmZiAtLWdpdCBhL3NyYy9lZ2wvb3BlbmdsZXMxL01ha2VmaWxlLmFtIGIvc3JjL2VnbC9vcGVuZ2xlczEvTWFrZWZpbGUuYW0KK2luZGV4IDdhOTgyOGQuLjM0NTVlNzUgMTAwNjQ0CistLS0gYS9zcmMvZWdsL29wZW5nbGVzMS9NYWtlZmlsZS5hbQorKysrIGIvc3JjL2VnbC9vcGVuZ2xlczEvTWFrZWZpbGUuYW0KK0BAIC0zNiwyOCArMzYsNDMgQEAgQU1fTERGTEFHUyA9IFwKKyAJJChFR0xfTElCUykgXAorIAktbG0KKyAKKytub2luc3RfUFJPR1JBTVMgPQorKworIGlmIEhBVkVfRUdMCisgaWYgSEFWRV9HTEVTVjEKKy1ub2luc3RfUFJPR1JBTVMgPSBcCistCWJpbmR0ZXggXAorLQljbGVhciBcCisrbm9pbnN0X1BST0dSQU1TICs9IFwKKyAJZHJhd3RleF9zY3JlZW4gXAorKwlnZWFyc19zY3JlZW4gXAorKwl0b3J1c19zY3JlZW4gXAorKwl0cmlfc2NyZWVuCisrCisrZHJhd3RleF9zY3JlZW5fU09VUkNFUyA9IGRyYXd0ZXguYworK2dlYXJzX3NjcmVlbl9TT1VSQ0VTID0gZ2VhcnMuYworK3RvcnVzX3NjcmVlbl9TT1VSQ0VTID0gdG9ydXMuYworK3RyaV9zY3JlZW5fU09VUkNFUyA9IHRyaS5jCisrCisrZHJhd3RleF9zY3JlZW5fTERBREQgPSAuLi9lZ2x1dC9saWJlZ2x1dF9zY3JlZW4ubGEKKytnZWFyc19zY3JlZW5fTERBREQgPSAuLi9lZ2x1dC9saWJlZ2x1dF9zY3JlZW4ubGEKKyt0b3J1c19zY3JlZW5fTERBREQgPSAuLi9lZ2x1dC9saWJlZ2x1dF9zY3JlZW4ubGEKKyt0cmlfc2NyZWVuX0xEQUREID0gLi4vZWdsdXQvbGliZWdsdXRfc2NyZWVuLmxhCisrCisraWYgSEFWRV9YMTEKKytub2luc3RfUFJPR1JBTVMgKz0gXAorKwljbGVhcgorKworK2Jpbl9QUk9HUkFNUyA9IFwKKysJYmluZHRleCBcCisgCWRyYXd0ZXhfeDExIFwKKyAJZWdsZmJkZXYgXAorIAllczFfaW5mbyBcCistCWdlYXJzX3NjcmVlbiBcCisgCWdlYXJzX3gxMSBcCisgCW1zYWEgXAorIAlwYnVmZmVyXAorIAlyZW5kZXJfdGV4IFwKKyAJdGV4dHVyZV9mcm9tX3BpeG1hcCBcCistCXRvcnVzX3NjcmVlbiBcCisgCXRvcnVzX3gxMSBcCistCXRyaV9zY3JlZW4gXAorIAl0cmlfeDExIFwKKyAJdHdvX3dpbgorLWVuZGlmCistZW5kaWYKKyAKKyBiaW5kdGV4X0xEQUREID0gJChYMTFfTElCUykKKyBlczFfaW5mb19MREFERCA9ICQoWDExX0xJQlMpCitAQCAtNzEsMjIgKzg2LDE1IEBAIHR3b193aW5fTERBREQgPSAkKFgxMV9MSUJTKQorIGNsZWFyX0xEQUREID0gLi4vZWdsdXQvbGliZWdsdXRfeDExLmxhICQoRUdMX0xJQlMpICQoWDExX0xJQlMpCisgY2xlYXJfTERGTEFHUyA9CisgCistZHJhd3RleF9zY3JlZW5fU09VUkNFUyA9IGRyYXd0ZXguYworLWdlYXJzX3NjcmVlbl9TT1VSQ0VTID0gZ2VhcnMuYworLXRvcnVzX3NjcmVlbl9TT1VSQ0VTID0gdG9ydXMuYworLXRyaV9zY3JlZW5fU09VUkNFUyA9IHRyaS5jCistCisgZHJhd3RleF94MTFfU09VUkNFUyA9IGRyYXd0ZXguYworIGdlYXJzX3gxMV9TT1VSQ0VTID0gZ2VhcnMuYworIHRvcnVzX3gxMV9TT1VSQ0VTID0gdG9ydXMuYworIHRyaV94MTFfU09VUkNFUyA9IHRyaS5jCisgCistZHJhd3RleF9zY3JlZW5fTERBREQgPSAuLi9lZ2x1dC9saWJlZ2x1dF9zY3JlZW4ubGEKKy1nZWFyc19zY3JlZW5fTERBREQgPSAuLi9lZ2x1dC9saWJlZ2x1dF9zY3JlZW4ubGEKKy10b3J1c19zY3JlZW5fTERBREQgPSAuLi9lZ2x1dC9saWJlZ2x1dF9zY3JlZW4ubGEKKy10cmlfc2NyZWVuX0xEQUREID0gLi4vZWdsdXQvbGliZWdsdXRfc2NyZWVuLmxhCistCisgZHJhd3RleF94MTFfTERBREQgPSAuLi9lZ2x1dC9saWJlZ2x1dF94MTEubGEKKyBnZWFyc194MTFfTERBREQgPSAuLi9lZ2x1dC9saWJlZ2x1dF94MTEubGEKKyB0b3J1c194MTFfTERBREQgPSAuLi9lZ2x1dC9saWJlZ2x1dF94MTEubGEKKyB0cmlfeDExX0xEQUREID0gLi4vZWdsdXQvbGliZWdsdXRfeDExLmxhCisrZW5kaWYKKytlbmRpZgorK2VuZGlmCitkaWZmIC0tZ2l0IGEvc3JjL2VnbC9vcGVuZ2xlczIvTWFrZWZpbGUuYW0gYi9zcmMvZWdsL29wZW5nbGVzMi9NYWtlZmlsZS5hbQoraW5kZXggNDFjMWI4MC4uNzRhZjQ2MCAxMDA2NDQKKy0tLSBhL3NyYy9lZ2wvb3BlbmdsZXMyL01ha2VmaWxlLmFtCisrKysgYi9zcmMvZWdsL29wZW5nbGVzMi9NYWtlZmlsZS5hbQorQEAgLTM2LDI2ICszNiwyOSBAQCBBTV9MREZMQUdTID0gXAorIGlmIEhBVkVfRUdMCisgaWYgSEFWRV9HTEVTVjIKKyBiaW5fUFJPR1JBTVMgPSBcCistCWVzMl9pbmZvIFwKKy0JZXMyZ2VhcnNfc2NyZWVuIFwKKy0JZXMyZ2VhcnNfeDExIFwKKy0JZXMydHJpCisrCWVzMmdlYXJzX3NjcmVlbgorKworK2VzMmdlYXJzX3NjcmVlbl9TT1VSQ0VTID0gZXMyZ2VhcnMuYworK2VzMmdlYXJzX3NjcmVlbl9MREFERCA9IC4uL2VnbHV0L2xpYmVnbHV0X3NjcmVlbi5sYQorKworIGlmIEhBVkVfV0FZTEFORAorIGJpbl9QUk9HUkFNUyArPSBlczJnZWFyc193YXlsYW5kCistZW5kaWYKKy1lbmRpZgorLWVuZGlmCisgCistZXMyX2luZm9fTERBREQgPSAkKFgxMV9MSUJTKQorLWVzMnRyaV9MREFERCA9ICQoWDExX0xJQlMpCisrZXMyZ2VhcnNfd2F5bGFuZF9TT1VSQ0VTID0gZXMyZ2VhcnMuYworK2VzMmdlYXJzX3dheWxhbmRfTERBREQgPSAuLi9lZ2x1dC9saWJlZ2x1dF93YXlsYW5kLmxhCisrZW5kaWYKKyAKKy1lczJnZWFyc19zY3JlZW5fU09VUkNFUyA9IGVzMmdlYXJzLmMKKytpZiBIQVZFX1gxMQorK2Jpbl9QUk9HUkFNUyArPSBcCisrCWVzMnRyaSBcCisrCWVzMl9pbmZvIFwKKysJZXMyZ2VhcnNfeDExCisgCisrZXMyX2luZm9fTERBREQgPSAkKFgxMV9MSUJTKQorIGVzMmdlYXJzX3gxMV9TT1VSQ0VTID0gZXMyZ2VhcnMuYworLQorLWVzMmdlYXJzX3NjcmVlbl9MREFERCA9IC4uL2VnbHV0L2xpYmVnbHV0X3NjcmVlbi5sYQorLQorIGVzMmdlYXJzX3gxMV9MREFERCA9IC4uL2VnbHV0L2xpYmVnbHV0X3gxMS5sYQorK2VzMnRyaV9MREFERCA9ICQoWDExX0xJQlMpCisrZW5kaWYKKytlbmRpZgorK2VuZGlmCisgCistZXMyZ2VhcnNfd2F5bGFuZF9TT1VSQ0VTID0gZXMyZ2VhcnMuYworLWVzMmdlYXJzX3dheWxhbmRfTERBREQgPSAuLi9lZ2x1dC9saWJlZ2x1dF93YXlsYW5kLmxhCistLSAKKzIuMC4wCisKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZGVtb3MvMDAwNC1Vc2UtREVNT1NfREFUQV9ESVItdG8tbG9jYXRlLWRhdGEtZmlsZXMucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWRlbW9zLzAwMDQtVXNlLURFTU9TX0RBVEFfRElSLXRvLWxvY2F0ZS1kYXRhLWZpbGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3N2I5N2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWRlbW9zLzAwMDQtVXNlLURFTU9TX0RBVEFfRElSLXRvLWxvY2F0ZS1kYXRhLWZpbGVzLnBhdGNoCkBAIC0wLDAgKzEsMjM0IEBACitGcm9tIDVlMTAxMDhkNzZhNTlhYmFjMjFjN2U1NDBiY2ZkMmRkYWNjY2EyY2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEcmV3IE1vc2VsZXkgPGRyZXdfbW9zZWxleUBtZW50b3IuY29tPgorRGF0ZTogRnJpLCA5IE1heSAyMDE0IDExOjUwOjI0IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0ggNC85XSBVc2UgREVNT1NfREFUQV9ESVIgdG8gbG9jYXRlIGRhdGEgZmlsZXMKKworVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTc4NDk2XQorU2lnbmVkLW9mZi1ieTogRHJldyBNb3NlbGV5IDxkcmV3X21vc2VsZXlAbWVudG9yLmNvbT4KKy0tLQorIHNyYy9nbHNsL2Jlemllci5jICAgICAgICAgICB8ICAyICstCisgc3JjL2dsc2wvYmxpbmtpbmctdGVhcG90LmMgIHwgIDQgKystLQorIHNyYy9nbHNsL2JyaWNrLmMgICAgICAgICAgICB8ICA0ICsrLS0KKyBzcmMvZ2xzbC9idW1wLmMgICAgICAgICAgICAgfCAgNiArKystLS0KKyBzcmMvZ2xzbC9jb252b2x1dGlvbnMuYyAgICAgfCAgMiArLQorIHNyYy9nbHNsL21hbmRlbGJyb3QuYyAgICAgICB8ICA0ICsrLS0KKyBzcmMvZ2xzbC9tdWx0aXRleC5jICAgICAgICAgfCAgNCArKy0tCisgc3JjL2dsc2wvc2ltcGxleC1ub2lzZS5jICAgIHwgIDIgKy0KKyBzcmMvZ2xzbC9za2lubmluZy5jICAgICAgICAgfCAgNCArKy0tCisgc3JjL2dsc2wvdGV4ZGVtbzEuYyAgICAgICAgIHwgIDggKysrKy0tLS0KKyBzcmMvZ2xzbC90b3liYWxsLmMgICAgICAgICAgfCAgNCArKy0tCisgc3JjL29ianZpZXdlci9vYmp2aWV3LmMgICAgIHwgMTIgKysrKysrLS0tLS0tCisgc3JjL3BlcmYvZ2xzbHN0YXRlc2NoYW5nZS5jIHwgIDggKysrKy0tLS0KKyAxMyBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9nbHNsL2Jlemllci5jIGIvc3JjL2dsc2wvYmV6aWVyLmMKK2luZGV4IDBiNTZiYzEuLmUwMTYwM2QgMTAwNjQ0CistLS0gYS9zcmMvZ2xzbC9iZXppZXIuYworKysrIGIvc3JjL2dsc2wvYmV6aWVyLmMKK0BAIC0xMyw3ICsxMyw3IEBACisgI2luY2x1ZGUgImdsdXRfd3JhcC5oIgorICNpbmNsdWRlICJzaGFkZXJ1dGlsLmgiCisgCistc3RhdGljIGNvbnN0IGNoYXIgKmZpbGVuYW1lID0gImJlemllci5nZW9tIjsKKytzdGF0aWMgY29uc3QgY2hhciAqZmlsZW5hbWUgPSBERU1PU19EQVRBX0RJUiAiYmV6aWVyLmdlb20iOworIAorIHN0YXRpYyBHTHVpbnQgZnJhZ1NoYWRlcjsKKyBzdGF0aWMgR0x1aW50IHZlcnRTaGFkZXI7CitkaWZmIC0tZ2l0IGEvc3JjL2dsc2wvYmxpbmtpbmctdGVhcG90LmMgYi9zcmMvZ2xzbC9ibGlua2luZy10ZWFwb3QuYworaW5kZXggZTNiZjI0ZC4uNzY2MmIxZiAxMDA2NDQKKy0tLSBhL3NyYy9nbHNsL2JsaW5raW5nLXRlYXBvdC5jCisrKysgYi9zcmMvZ2xzbC9ibGlua2luZy10ZWFwb3QuYworQEAgLTYzLDggKzYzLDggQEAgaW5pdF9vcGVuZ2wgKHZvaWQpCisgICAgICBleGl0KDEpOworICAgfSAgICAgCisgCistICB2c2hhZF9pZCA9IENvbXBpbGVTaGFkZXJGaWxlIChHTF9WRVJURVhfU0hBREVSLCAiYmxpbmtpbmctdGVhcG90LnZlcnQiKTsKKy0gIGZzaGFkX2lkID0gQ29tcGlsZVNoYWRlckZpbGUgKEdMX0ZSQUdNRU5UX1NIQURFUiwgImJsaW5raW5nLXRlYXBvdC5mcmFnIik7CisrICB2c2hhZF9pZCA9IENvbXBpbGVTaGFkZXJGaWxlIChHTF9WRVJURVhfU0hBREVSLCBERU1PU19EQVRBX0RJUiAiYmxpbmtpbmctdGVhcG90LnZlcnQiKTsKKysgIGZzaGFkX2lkID0gQ29tcGlsZVNoYWRlckZpbGUgKEdMX0ZSQUdNRU5UX1NIQURFUiwgREVNT1NfREFUQV9ESVIgImJsaW5raW5nLXRlYXBvdC5mcmFnIik7CisgICBwcm9nX2lkID0gTGlua1NoYWRlcnMgKHZzaGFkX2lkLCBmc2hhZF9pZCk7CisgCisgICBVc2VQcm9ncmFtIChwcm9nX2lkKTsKK2RpZmYgLS1naXQgYS9zcmMvZ2xzbC9icmljay5jIGIvc3JjL2dsc2wvYnJpY2suYworaW5kZXggMzAyMTg1Ni4uZmU1ZjE5MCAxMDA2NDQKKy0tLSBhL3NyYy9nbHNsL2JyaWNrLmMKKysrKyBiL3NyYy9nbHNsL2JyaWNrLmMKK0BAIC0xNCw4ICsxNCw4IEBACisgI2luY2x1ZGUgInNoYWRlcnV0aWwuaCIKKyAKKyAKKy1zdGF0aWMgY2hhciAqRnJhZ1Byb2dGaWxlID0gIkNIMDYtYnJpY2suZnJhZyI7Cistc3RhdGljIGNoYXIgKlZlcnRQcm9nRmlsZSA9ICJDSDA2LWJyaWNrLnZlcnQiOworK3N0YXRpYyBjaGFyICpGcmFnUHJvZ0ZpbGUgPSBERU1PU19EQVRBX0RJUiAiQ0gwNi1icmljay5mcmFnIjsKKytzdGF0aWMgY2hhciAqVmVydFByb2dGaWxlID0gREVNT1NfREFUQV9ESVIgIkNIMDYtYnJpY2sudmVydCI7CisgCisgLyogcHJvZ3JhbS9zaGFkZXIgb2JqZWN0cyAqLworIHN0YXRpYyBHTHVpbnQgZnJhZ1NoYWRlcjsKK2RpZmYgLS1naXQgYS9zcmMvZ2xzbC9idW1wLmMgYi9zcmMvZ2xzbC9idW1wLmMKK2luZGV4IDU5ZjYyY2QuLjNhMWIyMGEgMTAwNjQ0CistLS0gYS9zcmMvZ2xzbC9idW1wLmMKKysrKyBiL3NyYy9nbHNsL2J1bXAuYworQEAgLTE1LDkgKzE1LDkgQEAKKyAjaW5jbHVkZSAicmVhZHRleC5oIgorIAorIAorLXN0YXRpYyBjaGFyICpGcmFnUHJvZ0ZpbGUgPSAiQ0gxMS1idW1wbWFwLmZyYWciOworLXN0YXRpYyBjaGFyICpGcmFnVGV4UHJvZ0ZpbGUgPSAiQ0gxMS1idW1wbWFwdGV4LmZyYWciOworLXN0YXRpYyBjaGFyICpWZXJ0UHJvZ0ZpbGUgPSAiQ0gxMS1idW1wbWFwLnZlcnQiOworK3N0YXRpYyBjaGFyICpGcmFnUHJvZ0ZpbGUgPSBERU1PU19EQVRBX0RJUiAiQ0gxMS1idW1wbWFwLmZyYWciOworK3N0YXRpYyBjaGFyICpGcmFnVGV4UHJvZ0ZpbGUgPSBERU1PU19EQVRBX0RJUiAiQ0gxMS1idW1wbWFwdGV4LmZyYWciOworK3N0YXRpYyBjaGFyICpWZXJ0UHJvZ0ZpbGUgPSBERU1PU19EQVRBX0RJUiAiQ0gxMS1idW1wbWFwLnZlcnQiOworIHN0YXRpYyBjaGFyICpUZXh0dXJlRmlsZSA9IERFTU9TX0RBVEFfRElSICJ0aWxlLnJnYiI7CisgCisgLyogcHJvZ3JhbS9zaGFkZXIgb2JqZWN0cyAqLworZGlmZiAtLWdpdCBhL3NyYy9nbHNsL2NvbnZvbHV0aW9ucy5jIGIvc3JjL2dsc2wvY29udm9sdXRpb25zLmMKK2luZGV4IGExMjBjZmUuLjkzMTJmMDAgMTAwNjQ0CistLS0gYS9zcmMvZ2xzbC9jb252b2x1dGlvbnMuYworKysrIGIvc3JjL2dsc2wvY29udm9sdXRpb25zLmMKK0BAIC0zNDAsNyArMzQwLDcgQEAgc3RhdGljIHZvaWQgaW5pdCh2b2lkKQorIAorICAgIG1lbnVJbml0KCk7CisgICAgcmVhZFRleHR1cmUodGV4dHVyZUxvY2F0aW9uKTsKKy0gICBjcmVhdGVQcm9ncmFtKCJjb252b2x1dGlvbi52ZXJ0IiwgImNvbnZvbHV0aW9uLmZyYWciKTsKKysgICBjcmVhdGVQcm9ncmFtKERFTU9TX0RBVEFfRElSICJjb252b2x1dGlvbi52ZXJ0IiwgREVNT1NfREFUQV9ESVIgImNvbnZvbHV0aW9uLmZyYWciKTsKKyAKKyAgICBnbEVuYWJsZShHTF9URVhUVVJFXzJEKTsKKyAgICBnbENsZWFyQ29sb3IoMS4wLCAxLjAsIDEuMCwgMS4wKTsKK2RpZmYgLS1naXQgYS9zcmMvZ2xzbC9tYW5kZWxicm90LmMgYi9zcmMvZ2xzbC9tYW5kZWxicm90LmMKK2luZGV4IDMxZWRlMWQuLmFiMzRhMGYgMTAwNjQ0CistLS0gYS9zcmMvZ2xzbC9tYW5kZWxicm90LmMKKysrKyBiL3NyYy9nbHNsL21hbmRlbGJyb3QuYworQEAgLTE0LDggKzE0LDggQEAKKyAjaW5jbHVkZSAic2hhZGVydXRpbC5oIgorIAorIAorLXN0YXRpYyBjaGFyICpGcmFnUHJvZ0ZpbGUgPSAiQ0gxOC1tYW5kZWwuZnJhZyI7Cistc3RhdGljIGNoYXIgKlZlcnRQcm9nRmlsZSA9ICJDSDE4LW1hbmRlbC52ZXJ0IjsKKytzdGF0aWMgY2hhciAqRnJhZ1Byb2dGaWxlID0gREVNT1NfREFUQV9ESVIgIkNIMTgtbWFuZGVsLmZyYWciOworK3N0YXRpYyBjaGFyICpWZXJ0UHJvZ0ZpbGUgPSBERU1PU19EQVRBX0RJUiAiQ0gxOC1tYW5kZWwudmVydCI7CisgCisgLyogcHJvZ3JhbS9zaGFkZXIgb2JqZWN0cyAqLworIHN0YXRpYyBHTHVpbnQgZnJhZ1NoYWRlcjsKK2RpZmYgLS1naXQgYS9zcmMvZ2xzbC9tdWx0aXRleC5jIGIvc3JjL2dsc2wvbXVsdGl0ZXguYworaW5kZXggMjYyZWE1MC4uNTQ2YmQyNyAxMDA2NDQKKy0tLSBhL3NyYy9nbHNsL211bHRpdGV4LmMKKysrKyBiL3NyYy9nbHNsL211bHRpdGV4LmMKK0BAIC0zNSw4ICszNSw4IEBACisgCisgc3RhdGljIGNvbnN0IGNoYXIgKkRlbW8gPSAibXVsdGl0ZXgiOworIAorLXN0YXRpYyBjb25zdCBjaGFyICpWZXJ0RmlsZSA9ICJtdWx0aXRleC52ZXJ0IjsKKy1zdGF0aWMgY29uc3QgY2hhciAqRnJhZ0ZpbGUgPSAibXVsdGl0ZXguZnJhZyI7Cisrc3RhdGljIGNvbnN0IGNoYXIgKlZlcnRGaWxlID0gREVNT1NfREFUQV9ESVIgIm11bHRpdGV4LnZlcnQiOworK3N0YXRpYyBjb25zdCBjaGFyICpGcmFnRmlsZSA9IERFTU9TX0RBVEFfRElSICJtdWx0aXRleC5mcmFnIjsKKyAKKyBzdGF0aWMgY29uc3QgY2hhciAqVGV4RmlsZXNbMl0gPSAKKyAgICB7CitkaWZmIC0tZ2l0IGEvc3JjL2dsc2wvc2ltcGxleC1ub2lzZS5jIGIvc3JjL2dsc2wvc2ltcGxleC1ub2lzZS5jCitpbmRleCAxM2ZkZDVkLi44ODVmMDFlIDEwMDY0NAorLS0tIGEvc3JjL2dsc2wvc2ltcGxleC1ub2lzZS5jCisrKysgYi9zcmMvZ2xzbC9zaW1wbGV4LW5vaXNlLmMKK0BAIC0xNjksNyArMTY5LDcgQEAgU3BlY2lhbEtleShpbnQga2V5LCBpbnQgeCwgaW50IHkpCisgc3RhdGljIHZvaWQKKyBJbml0KHZvaWQpCisgeworLSAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lID0gInNpbXBsZXgtbm9pc2UuZ2xzbCI7CisrICAgY29uc3QgY2hhciAqZmlsZW5hbWUgPSBERU1PU19EQVRBX0RJUiAic2ltcGxleC1ub2lzZS5nbHNsIjsKKyAgICBjaGFyIG5vaXNlVGV4dFsxMDAwMF07CisgICAgRklMRSAqZjsKKyAgICBpbnQgbGVuOworZGlmZiAtLWdpdCBhL3NyYy9nbHNsL3NraW5uaW5nLmMgYi9zcmMvZ2xzbC9za2lubmluZy5jCitpbmRleCBiZjM4ZDc3Li41MzZkNDc1IDEwMDY0NAorLS0tIGEvc3JjL2dsc2wvc2tpbm5pbmcuYworKysrIGIvc3JjL2dsc2wvc2tpbm5pbmcuYworQEAgLTIwLDggKzIwLDggQEAKKyAjZGVmaW5lIE1fUEkgMy4xNDE1OTI2NTM1CisgI2VuZGlmCisgCistc3RhdGljIGNoYXIgKkZyYWdQcm9nRmlsZSA9ICJza2lubmluZy5mcmFnIjsKKy1zdGF0aWMgY2hhciAqVmVydFByb2dGaWxlID0gInNraW5uaW5nLnZlcnQiOworK3N0YXRpYyBjaGFyICpGcmFnUHJvZ0ZpbGUgPSBERU1PU19EQVRBX0RJUiAic2tpbm5pbmcuZnJhZyI7Cisrc3RhdGljIGNoYXIgKlZlcnRQcm9nRmlsZSA9IERFTU9TX0RBVEFfRElSICJza2lubmluZy52ZXJ0IjsKKyAKKyAvKiBwcm9ncmFtL3NoYWRlciBvYmplY3RzICovCisgc3RhdGljIEdMdWludCBmcmFnU2hhZGVyOworZGlmZiAtLWdpdCBhL3NyYy9nbHNsL3RleGRlbW8xLmMgYi9zcmMvZ2xzbC90ZXhkZW1vMS5jCitpbmRleCA2Y2RlMjM5Li5hMDgyMzQyIDEwMDY0NAorLS0tIGEvc3JjL2dsc2wvdGV4ZGVtbzEuYworKysrIGIvc3JjL2dsc2wvdGV4ZGVtbzEuYworQEAgLTM1LDExICszNSwxMSBAQAorIAorIHN0YXRpYyBjb25zdCBjaGFyICpEZW1vID0gInRleGRlbW8xIjsKKyAKKy1zdGF0aWMgY29uc3QgY2hhciAqUmVmbGVjdFZlcnRGaWxlID0gInJlZmxlY3QudmVydCI7Cistc3RhdGljIGNvbnN0IGNoYXIgKkN1YmVGcmFnRmlsZSA9ICJjdWJlbWFwLmZyYWciOworK3N0YXRpYyBjb25zdCBjaGFyICpSZWZsZWN0VmVydEZpbGUgPSBERU1PU19EQVRBX0RJUiAicmVmbGVjdC52ZXJ0IjsKKytzdGF0aWMgY29uc3QgY2hhciAqQ3ViZUZyYWdGaWxlID0gREVNT1NfREFUQV9ESVIgImN1YmVtYXAuZnJhZyI7CisgCistc3RhdGljIGNvbnN0IGNoYXIgKlNpbXBsZVZlcnRGaWxlID0gInNpbXBsZS52ZXJ0IjsKKy1zdGF0aWMgY29uc3QgY2hhciAqU2ltcGxlVGV4RnJhZ0ZpbGUgPSAic2hhZG93dGV4LmZyYWciOworK3N0YXRpYyBjb25zdCBjaGFyICpTaW1wbGVWZXJ0RmlsZSA9IERFTU9TX0RBVEFfRElSICJzaW1wbGUudmVydCI7Cisrc3RhdGljIGNvbnN0IGNoYXIgKlNpbXBsZVRleEZyYWdGaWxlID0gREVNT1NfREFUQV9ESVIgInNoYWRvd3RleC5mcmFnIjsKKyAKKyBzdGF0aWMgY29uc3QgY2hhciAqR3JvdW5kSW1hZ2UgPSBERU1PU19EQVRBX0RJUiAidGlsZS5yZ2IiOworIAorZGlmZiAtLWdpdCBhL3NyYy9nbHNsL3RveWJhbGwuYyBiL3NyYy9nbHNsL3RveWJhbGwuYworaW5kZXggNWYyNzk1MS4uNGU3ZTgzMiAxMDA2NDQKKy0tLSBhL3NyYy9nbHNsL3RveWJhbGwuYworKysrIGIvc3JjL2dsc2wvdG95YmFsbC5jCitAQCAtMTQsOCArMTQsOCBAQAorICNpbmNsdWRlICJzaGFkZXJ1dGlsLmgiCisgCisgCistc3RhdGljIGNoYXIgKkZyYWdQcm9nRmlsZSA9ICJDSDExLXRveWJhbGwuZnJhZyI7Cistc3RhdGljIGNoYXIgKlZlcnRQcm9nRmlsZSA9ICJDSDExLXRveWJhbGwudmVydCI7Cisrc3RhdGljIGNoYXIgKkZyYWdQcm9nRmlsZSA9IERFTU9TX0RBVEFfRElSICJDSDExLXRveWJhbGwuZnJhZyI7Cisrc3RhdGljIGNoYXIgKlZlcnRQcm9nRmlsZSA9IERFTU9TX0RBVEFfRElSICJDSDExLXRveWJhbGwudmVydCI7CisgCisgLyogcHJvZ3JhbS9zaGFkZXIgb2JqZWN0cyAqLworIHN0YXRpYyBHTHVpbnQgZnJhZ1NoYWRlcjsKK2RpZmYgLS1naXQgYS9zcmMvb2Jqdmlld2VyL29ianZpZXcuYyBiL3NyYy9vYmp2aWV3ZXIvb2Jqdmlldy5jCitpbmRleCA2ZGVmNzI2Li43OGE2YWNmIDEwMDY0NAorLS0tIGEvc3JjL29ianZpZXdlci9vYmp2aWV3LmMKKysrKyBiL3NyYy9vYmp2aWV3ZXIvb2Jqdmlldy5jCitAQCAtMTYyLDEyICsxNjIsMTIgQEAgaW5pdF9tb2RlbCh2b2lkKQorIHN0YXRpYyB2b2lkCisgaW5pdF9za3lib3godm9pZCkKKyB7CistICAgU2t5Ym94VGV4ID0gTG9hZFNreUJveEN1YmVUZXh0dXJlKCJhbHBpbmVfZWFzdC5yZ2IiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxwaW5lX3dlc3QucmdiIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFscGluZV91cC5yZ2IiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxwaW5lX2Rvd24ucmdiIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImFscGluZV9zb3V0aC5yZ2IiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYWxwaW5lX25vcnRoLnJnYiIpOworKyAgIFNreWJveFRleCA9IExvYWRTa3lCb3hDdWJlVGV4dHVyZShERU1PU19EQVRBX0RJUiAiYWxwaW5lX2Vhc3QucmdiIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNT1NfREFUQV9ESVIgImFscGluZV93ZXN0LnJnYiIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFTU9TX0RBVEFfRElSICJhbHBpbmVfdXAucmdiIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNT1NfREFUQV9ESVIgImFscGluZV9kb3duLnJnYiIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFTU9TX0RBVEFfRElSICJhbHBpbmVfc291dGgucmdiIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREVNT1NfREFUQV9ESVIgImFscGluZV9ub3J0aC5yZ2IiKTsKKyAgICBnbG1TcGVjdWxhclRleHR1cmUoTW9kZWwsIFNreWJveFRleCk7CisgfQorIAorZGlmZiAtLWdpdCBhL3NyYy9wZXJmL2dsc2xzdGF0ZXNjaGFuZ2UuYyBiL3NyYy9wZXJmL2dsc2xzdGF0ZXNjaGFuZ2UuYworaW5kZXggNzQyMmI3OC4uZGJmODMzMiAxMDA2NDQKKy0tLSBhL3NyYy9wZXJmL2dsc2xzdGF0ZXNjaGFuZ2UuYworKysrIGIvc3JjL3BlcmYvZ2xzbHN0YXRlc2NoYW5nZS5jCitAQCAtMzMsMTAgKzMzLDEwIEBACisgI2luY2x1ZGUgImdsbWFpbi5oIgorICNpbmNsdWRlICJjb21tb24uaCIKKyAKKy1zdGF0aWMgY29uc3QgY2hhciAqVmVydEZpbGUxID0gImdsc2xzdGF0ZXNjaGFuZ2UxLnZlcnQiOworLXN0YXRpYyBjb25zdCBjaGFyICpGcmFnRmlsZTEgPSAiZ2xzbHN0YXRlc2NoYW5nZTEuZnJhZyI7Cistc3RhdGljIGNvbnN0IGNoYXIgKlZlcnRGaWxlMiA9ICJnbHNsc3RhdGVzY2hhbmdlMi52ZXJ0IjsKKy1zdGF0aWMgY29uc3QgY2hhciAqRnJhZ0ZpbGUyID0gImdsc2xzdGF0ZXNjaGFuZ2UyLmZyYWciOworK3N0YXRpYyBjb25zdCBjaGFyICpWZXJ0RmlsZTEgPSBERU1PU19EQVRBX0RJUiAiZ2xzbHN0YXRlc2NoYW5nZTEudmVydCI7Cisrc3RhdGljIGNvbnN0IGNoYXIgKkZyYWdGaWxlMSA9IERFTU9TX0RBVEFfRElSICJnbHNsc3RhdGVzY2hhbmdlMS5mcmFnIjsKKytzdGF0aWMgY29uc3QgY2hhciAqVmVydEZpbGUyID0gREVNT1NfREFUQV9ESVIgImdsc2xzdGF0ZXNjaGFuZ2UyLnZlcnQiOworK3N0YXRpYyBjb25zdCBjaGFyICpGcmFnRmlsZTIgPSBERU1PU19EQVRBX0RJUiAiZ2xzbHN0YXRlc2NoYW5nZTIuZnJhZyI7Cisgc3RhdGljIHN0cnVjdCB1bmlmb3JtX2luZm8gVW5pZm9ybXMxW10gPSB7CisgICAgeyAidGV4MSIsICAxLCBHTF9TQU1QTEVSXzJELCB7IDAsIDAsIDAsIDAgfSwgLTEgfSwKKyAgICB7ICJ0ZXgyIiwgIDEsIEdMX1NBTVBMRVJfMkQsIHsgMSwgMCwgMCwgMCB9LCAtMSB9LAorLS0gCisyLjAuMAorCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWRlbW9zLzAwMDUtRml4LWJ1aWxkLXdoZW4tRUdMX01FU0Ffc2NyZWVuX3N1cmZhY2UtZXh0ZW5zaW9uLWlzbi5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZGVtb3MvMDAwNS1GaXgtYnVpbGQtd2hlbi1FR0xfTUVTQV9zY3JlZW5fc3VyZmFjZS1leHRlbnNpb24taXNuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhYzJhMzcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWRlbW9zLzAwMDUtRml4LWJ1aWxkLXdoZW4tRUdMX01FU0Ffc2NyZWVuX3N1cmZhY2UtZXh0ZW5zaW9uLWlzbi5wYXRjaApAQCAtMCwwICsxLDI2NyBAQAorRnJvbSA0NTMzNTNhMjIxZGU5YzY0NDc5ZjQzNzI1NjVkMmNkODU5MWIzNmNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRnJhbmsgQmlubnMgPGZyYW5rLmJpbm5zQGltZ3RlYy5jb20+CitEYXRlOiBGcmksIDI5IEp1biAyMDEyIDExOjI2OjA0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggNS85XSBGaXggYnVpbGQgd2hlbiBFR0xfTUVTQV9zY3JlZW5fc3VyZmFjZSBleHRlbnNpb24gaXNuJ3QKKyBwcmVzZW50CisKK1RoZSBFR0wgZGVtb3Mgd29uJ3QgYnVpbGQgYWdhaW5zdCBFR0wgaW1wbGVtZW50YXRpb25zIHRoYXQgZG9uJ3Qgc3VwcG9ydAordGhlIEVHTF9NRVNBX3NjcmVlbl9zdXJmYWNlIGV4dGVuc2lvbi4gRml4IHRoaXMsIGluIG1vc3QgY2FzZXMsIGJ5Cit3cmFwcGluZyByZWxldmFudCBiaXRzIG9mIGNvZGUgaW4gI2lmZGVmIEVHTF9NRVNBX3NjcmVlbl9zdXJmYWNlLgorCitTaWduZWQtb2ZmLWJ5OiBGcmFuayBCaW5ucyA8ZnJhbmsuYmlubnNAaW1ndGVjLmNvbT4KKworQXBwbGllZCBhbmQgZml4ZWQgdXAgaW4gWW9jdG8gYnkuLi4KKworSW50ZWdyYXRlZC1ieTogVG9tIFphbnVzc2kgPHRvbS56YW51c3NpQGxpbnV4LmludGVsLmNvbT4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCistLS0KKyBzcmMvZWdsL2VnbHV0L2VnbHV0LmMgICAgICAgIHwgIDkgKysrKysrKy0tCisgc3JjL2VnbC9lZ2x1dC9lZ2x1dF9zY3JlZW4uYyB8IDE0ICsrKysrKysrKysrKysrCisgc3JjL2VnbC9vcGVuZ2wvZGVtbzEuYyAgICAgICB8ICAyICsrCisgc3JjL2VnbC9vcGVuZ2wvZGVtbzIuYyAgICAgICB8ICA3ICsrKysrKy0KKyBzcmMvZWdsL29wZW5nbC9kZW1vMy5jICAgICAgIHwgIDcgKysrKysrLQorIDUgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9lZ2wvZWdsdXQvZWdsdXQuYyBiL3NyYy9lZ2wvZWdsdXQvZWdsdXQuYworaW5kZXggMmVlNmYxNS4uZjZhMmFkNCAxMDA2NDQKKy0tLSBhL3NyYy9lZ2wvZWdsdXQvZWdsdXQuYworKysrIGIvc3JjL2VnbC9lZ2x1dC9lZ2x1dC5jCitAQCAtNzYsOCArNzYsOSBAQCBfZWdsdXROb3codm9pZCkKKyBzdGF0aWMgdm9pZAorIF9lZ2x1dERlc3Ryb3lXaW5kb3coc3RydWN0IGVnbHV0X3dpbmRvdyAqd2luKQorIHsKKy0gICBpZiAoX2VnbHV0LT5zdXJmYWNlX3R5cGUgIT0gRUdMX1BCVUZGRVJfQklUICYmCistICAgICAgIF9lZ2x1dC0+c3VyZmFjZV90eXBlICE9IEVHTF9TQ1JFRU5fQklUX01FU0EpCisrCisrICAgaWYgKF9lZ2x1dC0+c3VyZmFjZV90eXBlID09IEVHTF9XSU5ET1dfQklUIHx8CisrICAgICAgIF9lZ2x1dC0+c3VyZmFjZV90eXBlID09IEVHTF9QSVhNQVBfQklUKQorICAgICAgIGVnbERlc3Ryb3lTdXJmYWNlKF9lZ2x1dC0+ZHB5LCB3aW4tPnN1cmZhY2UpOworIAorICAgIF9lZ2x1dE5hdGl2ZUZpbmlXaW5kb3cod2luKTsKK0BAIC0xNzUsNyArMTc2LDkgQEAgX2VnbHV0Q3JlYXRlV2luZG93KGNvbnN0IGNoYXIgKnRpdGxlLCBpbnQgeCwgaW50IHksIGludCB3LCBpbnQgaCkKKyAgICAgICAgICAgICB3aW4tPmNvbmZpZywgd2luLT5uYXRpdmUudS5waXhtYXAsIE5VTEwpOworICAgICAgIGJyZWFrOworICAgIGNhc2UgRUdMX1BCVUZGRVJfQklUOgorKyNpZmRlZiBFR0xfTUVTQV9zY3JlZW5fc3VyZmFjZQorICAgIGNhc2UgRUdMX1NDUkVFTl9CSVRfTUVTQToKKysjZW5kaWYKKyAgICAgICB3aW4tPnN1cmZhY2UgPSB3aW4tPm5hdGl2ZS51LnN1cmZhY2U7CisgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKK0BAIC0yODksOCArMjkyLDEwIEBAIGVnbHV0RGVzdHJveVdpbmRvdyhpbnQgd2luKQorICAgIGlmICh3aW5kb3ctPmluZGV4ICE9IHdpbikKKyAgICAgICByZXR1cm47CisgCisrI2lmZGVmIEVHTF9NRVNBX3NjcmVlbl9zdXJmYWNlCisgICAgLyogWFhYIGl0IGNhdXNlcyBzb21lIGJ1ZyBpbiBzdC9lZ2wgS01TIGJhY2tlbmQgKi8KKyAgICBpZiAoIF9lZ2x1dC0+c3VyZmFjZV90eXBlICE9IEVHTF9TQ1JFRU5fQklUX01FU0EpCisrI2VuZGlmCisgICAgICAgZWdsTWFrZUN1cnJlbnQoX2VnbHV0LT5kcHksIEVHTF9OT19TVVJGQUNFLCBFR0xfTk9fU1VSRkFDRSwgRUdMX05PX0NPTlRFWFQpOworIAorICAgIF9lZ2x1dERlc3Ryb3lXaW5kb3coX2VnbHV0LT5jdXJyZW50KTsKK2RpZmYgLS1naXQgYS9zcmMvZWdsL2VnbHV0L2VnbHV0X3NjcmVlbi5jIGIvc3JjL2VnbC9lZ2x1dC9lZ2x1dF9zY3JlZW4uYworaW5kZXggMDIxYThmMS4uMDk0YTRlMiAxMDA2NDQKKy0tLSBhL3NyYy9lZ2wvZWdsdXQvZWdsdXRfc2NyZWVuLmMKKysrKyBiL3NyYy9lZ2wvZWdsdXQvZWdsdXRfc2NyZWVuLmMKK0BAIC0zNSwyNiArMzUsMzMgQEAKKyAKKyAjZGVmaW5lIE1BWF9NT0RFUyAxMDAKKyAKKysjaWZkZWYgRUdMX01FU0Ffc2NyZWVuX3N1cmZhY2UKKyBzdGF0aWMgRUdMU2NyZWVuTUVTQSBrbXNfc2NyZWVuOworIHN0YXRpYyBFR0xNb2RlTUVTQSBrbXNfbW9kZTsKKyBzdGF0aWMgRUdMaW50IGttc193aWR0aCwga21zX2hlaWdodDsKKysjZW5kaWYKKyAKKyB2b2lkCisgX2VnbHV0TmF0aXZlSW5pdERpc3BsYXkodm9pZCkKKyB7CisrI2lmZGVmIEVHTF9NRVNBX3NjcmVlbl9zdXJmYWNlCisgICAgX2VnbHV0LT5uYXRpdmVfZHB5ID0gRUdMX0RFRkFVTFRfRElTUExBWTsKKyAgICBfZWdsdXQtPnN1cmZhY2VfdHlwZSA9IEVHTF9TQ1JFRU5fQklUX01FU0E7CisrI2VuZGlmCisgfQorIAorIHZvaWQKKyBfZWdsdXROYXRpdmVGaW5pRGlzcGxheSh2b2lkKQorIHsKKysjaWZkZWYgRUdMX01FU0Ffc2NyZWVuX3N1cmZhY2UKKyAgICBrbXNfc2NyZWVuID0gMDsKKyAgICBrbXNfbW9kZSA9IDA7CisgICAga21zX3dpZHRoID0gMDsKKyAgICBrbXNfaGVpZ2h0ID0gMDsKKysjZW5kaWYKKyB9CisgCisrI2lmZGVmIEVHTF9NRVNBX3NjcmVlbl9zdXJmYWNlCisgc3RhdGljIHZvaWQKKyBpbml0X2ttcyh2b2lkKQorIHsKK0BAIC05NCwxOSArMTAxLDIzIEBAIGluaXRfa21zKHZvaWQpCisgICAga21zX3dpZHRoID0gd2lkdGg7CisgICAga21zX2hlaWdodCA9IGhlaWdodDsKKyB9CisrI2VuZGlmCisgCisgdm9pZAorIF9lZ2x1dE5hdGl2ZUluaXRXaW5kb3coc3RydWN0IGVnbHV0X3dpbmRvdyAqd2luLCBjb25zdCBjaGFyICp0aXRsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCB4LCBpbnQgeSwgaW50IHcsIGludCBoKQorIHsKKysjaWZkZWYgRUdMX01FU0Ffc2NyZWVuX3N1cmZhY2UKKyAgICBFR0xpbnQgc3VyZl9hdHRyaWJzWzE2XTsKKyAgICBFR0xpbnQgaTsKKysjZW5kaWYKKyAgICBjb25zdCBjaGFyICpleHRzOworIAorICAgIGV4dHMgPSBlZ2xRdWVyeVN0cmluZyhfZWdsdXQtPmRweSwgRUdMX0VYVEVOU0lPTlMpOworICAgIGlmICghZXh0cyB8fCAhc3Ryc3RyKGV4dHMsICJFR0xfTUVTQV9zY3JlZW5fc3VyZmFjZSIpKQorICAgICAgIF9lZ2x1dEZhdGFsKCJFR0xfTUVTQV9zY3JlZW5fc3VyZmFjZSBpcyBub3Qgc3VwcG9ydGVkXG4iKTsKKyAKKysjaWZkZWYgRUdMX01FU0Ffc2NyZWVuX3N1cmZhY2UKKyAgICBpbml0X2ttcygpOworIAorICAgIGkgPSAwOworQEAgLTEyOCwxNCArMTM5LDE3IEBAIF9lZ2x1dE5hdGl2ZUluaXRXaW5kb3coc3RydWN0IGVnbHV0X3dpbmRvdyAqd2luLCBjb25zdCBjaGFyICp0aXRsZSwKKyAKKyAgICB3aW4tPm5hdGl2ZS53aWR0aCA9IGttc193aWR0aDsKKyAgICB3aW4tPm5hdGl2ZS5oZWlnaHQgPSBrbXNfaGVpZ2h0OworKyNlbmRpZgorIH0KKyAKKyB2b2lkCisgX2VnbHV0TmF0aXZlRmluaVdpbmRvdyhzdHJ1Y3QgZWdsdXRfd2luZG93ICp3aW4pCisgeworKyNpZmRlZiBFR0xfTUVTQV9zY3JlZW5fc3VyZmFjZQorICAgIGVnbFNob3dTY3JlZW5TdXJmYWNlTUVTQShfZWdsdXQtPmRweSwKKyAgICAgICAgICBrbXNfc2NyZWVuLCBFR0xfTk9fU1VSRkFDRSwgMCk7CisgICAgZWdsRGVzdHJveVN1cmZhY2UoX2VnbHV0LT5kcHksIHdpbi0+bmF0aXZlLnUuc3VyZmFjZSk7CisrI2VuZGlmCisgfQorIAorIHZvaWQKK2RpZmYgLS1naXQgYS9zcmMvZWdsL29wZW5nbC9kZW1vMS5jIGIvc3JjL2VnbC9vcGVuZ2wvZGVtbzEuYworaW5kZXggZDg5MjczNC4uM2EzNTY0YyAxMDA2NDQKKy0tLSBhL3NyYy9lZ2wvb3BlbmdsL2RlbW8xLmMKKysrKyBiL3NyYy9lZ2wvb3BlbmdsL2RlbW8xLmMKK0BAIC0xOCw2ICsxOCw3IEBACisgc3RhdGljIHZvaWQKKyBUZXN0U2NyZWVucyhFR0xEaXNwbGF5IGRweSkKKyB7CisrI2lmZGVmIEVHTF9NRVNBX3NjcmVlbl9zdXJmYWNlCisgI2RlZmluZSBNQVggOAorICAgIEVHTFNjcmVlbk1FU0Egc2NyZWVuc1tNQVhdOworICAgIEVHTGludCBudW1TY3JlZW5zOworQEAgLTI4LDYgKzI5LDcgQEAgVGVzdFNjcmVlbnMoRUdMRGlzcGxheSBkcHkpCisgICAgZm9yIChpID0gMDsgaSA8IG51bVNjcmVlbnM7IGkrKykgeworICAgICAgIHByaW50ZigiIFNjcmVlbiAlZCBoYW5kbGU6ICVkXG4iLCBpLCAoaW50KSBzY3JlZW5zW2ldKTsKKyAgICB9CisrI2VuZGlmCisgfQorIAorIC8qKgorZGlmZiAtLWdpdCBhL3NyYy9lZ2wvb3BlbmdsL2RlbW8yLmMgYi9zcmMvZWdsL29wZW5nbC9kZW1vMi5jCitpbmRleCA1MDViNDc0Li5iZmVmNTllIDEwMDY0NAorLS0tIGEvc3JjL2VnbC9vcGVuZ2wvZGVtbzIuYworKysrIGIvc3JjL2VnbC9vcGVuZ2wvZGVtbzIuYworQEAgLTE2LDYgKzE2LDcgQEAKKyAKKyAvKiNkZWZpbmUgRlJPTlRCVUZGRVIqLworIAorKyNpZmRlZiBFR0xfTUVTQV9zY3JlZW5fc3VyZmFjZQorIHN0YXRpYyB2b2lkIF9zdWJzZXRfUmVjdGYoR0xmbG9hdCB4MSwgR0xmbG9hdCB5MSwgR0xmbG9hdCB4MiwgR0xmbG9hdCB5MiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMZmxvYXQgciwgR0xmbG9hdCBnLCBHTGZsb2F0IGIpCisgeworQEAgLTk1LDEyICs5NiwxMyBAQCBUZXN0U2NyZWVucyhFR0xEaXNwbGF5IGRweSkKKyAgICAgICBwcmludGYoIiBTY3JlZW4gJWQgaGFuZGxlOiAlZFxuIiwgaSwgKGludCkgc2NyZWVuc1tpXSk7CisgICAgfQorIH0KKy0KKysjZW5kaWYKKyAKKyBpbnQKKyBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgeworICAgIGludCBtYWosIG1pbjsKKysjaWZkZWYgRUdMX01FU0Ffc2NyZWVuX3N1cmZhY2UKKyAgICBFR0xDb250ZXh0IGN0eDsKKyAgICBFR0xTdXJmYWNlIHBidWZmZXIsIHNjcmVlbl9zdXJmOworICAgIEVHTENvbmZpZyBjb25maWdzWzEwXTsKK0BAIC0xMTUsNiArMTE3LDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorICAgIEVHTE1vZGVNRVNBIG1vZGU7CisgICAgRUdMU2NyZWVuTUVTQSBzY3JlZW47CisgICAgRUdMaW50IGNvdW50OworKyNlbmRpZgorIAorICAgIEVHTERpc3BsYXkgZCA9IGVnbEdldERpc3BsYXkoRUdMX0RFRkFVTFRfRElTUExBWSk7CisgICAgYXNzZXJ0KGQpOworQEAgLTEzMiw2ICsxMzUsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgICAgICAgZXhpdCgxKTsKKyAgICB9CisgCisrI2lmZGVmIEVHTF9NRVNBX3NjcmVlbl9zdXJmYWNlCisgICAgZWdsR2V0Q29uZmlncyhkLCBjb25maWdzLCAxMCwgJm51bUNvbmZpZ3MpOworICAgIHByaW50ZigiR290ICVkIEVHTCBjb25maWdzOlxuIiwgbnVtQ29uZmlncyk7CisgICAgZm9yIChpID0gMDsgaSA8IG51bUNvbmZpZ3M7IGkrKykgeworQEAgLTIxMSw2ICsyMTUsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgICAgZWdsRGVzdHJveVN1cmZhY2UoZCwgcGJ1ZmZlcik7CisgICAgZWdsRGVzdHJveUNvbnRleHQoZCwgY3R4KTsKKyAgICBlZ2xUZXJtaW5hdGUoZCk7CisrI2VuZGlmCisgCisgICAgcmV0dXJuIDA7CisgfQorZGlmZiAtLWdpdCBhL3NyYy9lZ2wvb3BlbmdsL2RlbW8zLmMgYi9zcmMvZWdsL29wZW5nbC9kZW1vMy5jCitpbmRleCBmODRjYTIzLi4zMWI1ZDhiIDEwMDY0NAorLS0tIGEvc3JjL2VnbC9vcGVuZ2wvZGVtbzMuYworKysrIGIvc3JjL2VnbC9vcGVuZ2wvZGVtbzMuYworQEAgLTQ2LDcgKzQ2LDcgQEAgR0x1Ynl0ZSBPcGVuR0xfYml0c1tdID0geworICAgIDB4M2UsIDB4MDAsIDB4MDAsIDB4ZjgsIDB4MGMsIDB4MDAsIAorIH07CisgCistCisrI2lmZGVmIEVHTF9NRVNBX3NjcmVlbl9zdXJmYWNlCisgc3RhdGljIHZvaWQgSW5pdCh2b2lkKQorIHsKKyAKK0BAIC01NTEsMTEgKzU1MSwxMyBAQCB3cml0ZV9wcG0oY29uc3QgY2hhciAqZmlsZW5hbWUsIGNvbnN0IEdMdWJ5dGUgKmJ1ZmZlciwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQorICAgICAgIGZjbG9zZShmKTsKKyAgICB9CisgfQorKyNlbmRpZgorIAorIGludAorIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyB7CisgICAgaW50IG1haiwgbWluOworKyNpZmRlZiBFR0xfTUVTQV9zY3JlZW5fc3VyZmFjZQorICAgIEVHTENvbnRleHQgY3R4OworICAgIEVHTFN1cmZhY2Ugc2NyZWVuX3N1cmY7CisgICAgRUdMQ29uZmlnIGNvbmZpZ3NbMTBdOworQEAgLTU2Niw2ICs1NjgsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgICAgY29uc3QgR0x1Ynl0ZSAqYml0bWFwOworICAgIEVHTGludCBzY3JlZW5BdHRyaWJzWzMyXTsKKyAgICBFR0xpbnQgaTsKKysjZW5kaWYKKyAKKyAgICBFR0xEaXNwbGF5IGQgPSBlZ2xHZXREaXNwbGF5KEVHTF9ERUZBVUxUX0RJU1BMQVkpOworICAgIGFzc2VydChkKTsKK0BAIC01ODMsNiArNTg2LDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorICAgICAgIGV4aXQoMSk7CisgICAgfQorIAorKyNpZmRlZiBFR0xfTUVTQV9zY3JlZW5fc3VyZmFjZQorICAgIGVnbEdldENvbmZpZ3MoZCwgY29uZmlncywgMTAsICZudW1Db25maWdzKTsKKyAgICBlZ2xHZXRTY3JlZW5zTUVTQShkLCAmc2NyZWVuLCAxLCAmY291bnQpOworICAgIGVnbEdldE1vZGVzTUVTQShkLCBzY3JlZW4sICZtb2RlLCAxLCAmY291bnQpOworQEAgLTY0Miw2ICs2NDYsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgICAgZWdsRGVzdHJveVN1cmZhY2UoZCwgc2NyZWVuX3N1cmYpOworICAgIGVnbERlc3Ryb3lDb250ZXh0KGQsIGN0eCk7CisgICAgZWdsVGVybWluYXRlKGQpOworKyNlbmRpZgorIAorICAgIHJldHVybiAwOworIH0KKy0tIAorMi4wLjAKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1kZW1vcy8wMDA2LVF1ZXJ5LWRpc3BsYXktZm9yLUVHTF9NRVNBX3NjcmVlbl9zdXJmYWNlLWV4dGVuc2lvbi0ucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWRlbW9zLzAwMDYtUXVlcnktZGlzcGxheS1mb3ItRUdMX01FU0Ffc2NyZWVuX3N1cmZhY2UtZXh0ZW5zaW9uLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMmUwODA1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1kZW1vcy8wMDA2LVF1ZXJ5LWRpc3BsYXktZm9yLUVHTF9NRVNBX3NjcmVlbl9zdXJmYWNlLWV4dGVuc2lvbi0ucGF0Y2gKQEAgLTAsMCArMSw0MSBAQAorRnJvbSA2YTE5ZGJhMWQyNzU1NzljNzNlNzc2M2IwNTU0NDEwZmY0ZTFlNjUwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRnJhbmsgQmlubnMgPGZyYW5rLmJpbm5zQGltZ3RlYy5jb20+CitEYXRlOiBGcmksIDI5IEp1biAyMDEyIDEyOjAwOjI2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggNi85XSBRdWVyeSBkaXNwbGF5IGZvciBFR0xfTUVTQV9zY3JlZW5fc3VyZmFjZSBleHRlbnNpb24KKyBiZWZvcmUgdXNpbmcgaXQKKworVGhpcyBjb2RlIG1ha2VzIGhlYXZ5IHVzZSBvZiB0aGUgRUdMX01FU0Ffc2NyZWVuX3N1cmZhY2UgZXh0ZW5zaW9uIHNvCitjaGVjayB0aGUgZGlzcGxheSB0byBkZXRlcm1pbmUgaWYgaXQncyBzdXBwb3J0ZWQgYnkgdGhlIHVuZGVybHlpbmcgRUdMCitpbXBsZW1lbnRhdGlvbi4gSWYgaXQgZG9lc24ndCB0aGVuIGJhaWwuCisKK1NpZ25lZC1vZmYtYnk6IEZyYW5rIEJpbm5zIDxmcmFuay5iaW5uc0BpbWd0ZWMuY29tPgorCitBcHBsaWVkIGFuZCBmaXhlZCB1cCBpbiBZb2N0byBieS4uLgorCitJbnRlZ3JhdGVkLWJ5OiBUb20gWmFudXNzaSA8dG9tLnphbnVzc2lAbGludXguaW50ZWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQorIHNyYy9lZ2wvb3BlbmdsL2RlbW8xLmMgfCA2ICsrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9lZ2wvb3BlbmdsL2RlbW8xLmMgYi9zcmMvZWdsL29wZW5nbC9kZW1vMS5jCitpbmRleCAzYTM1NjRjLi4wNmUyMTM4IDEwMDY0NAorLS0tIGEvc3JjL2VnbC9vcGVuZ2wvZGVtbzEuYworKysrIGIvc3JjL2VnbC9vcGVuZ2wvZGVtbzEuYworQEAgLTExMCw2ICsxMTAsMTIgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQorICAgIHByaW50ZigiRUdMIHZlcnNpb24gPSAlZC4lZFxuIiwgbWFqLCBtaW4pOworICAgIHByaW50ZigiRUdMX1ZFTkRPUiA9ICVzXG4iLCBlZ2xRdWVyeVN0cmluZyhkLCBFR0xfVkVORE9SKSk7CisgCisrICAgaWYgKCFzdHJzdHIoZWdsUXVlcnlTdHJpbmcoZCwgRUdMX0VYVEVOU0lPTlMpLAorKyAgICAgICAgICAgICAgICJFR0xfTUVTQV9zY3JlZW5fc3VyZmFjZSIpKSB7CisrICAgICAgcHJpbnRmKCJFR0xfTUVTQV9zY3JlZW5fc3VyZmFjZSBpcyBub3Qgc3VwcG9ydGVkXG4iKTsKKysgICAgICBleGl0KDEpOworKyAgIH0KKysKKyAgICBlZ2xHZXRDb25maWdzKGQsIE5VTEwsIDAsICZudW1Db25maWdzKTsKKyAgICBjb25maWdzID0gbWFsbG9jKHNpemVvZigqY29uZmlncykgKm51bUNvbmZpZ3MpOworICAgIGVnbEdldENvbmZpZ3MoZCwgY29uZmlncywgbnVtQ29uZmlncywgJm51bUNvbmZpZ3MpOworLS0gCisyLjAuMAorCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWRlbW9zLzAwMDctSW5zdGFsbC1mZXctbW9yZS10ZXN0LXByb2dyYW1zLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1kZW1vcy8wMDA3LUluc3RhbGwtZmV3LW1vcmUtdGVzdC1wcm9ncmFtcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OWQyZmFjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1kZW1vcy8wMDA3LUluc3RhbGwtZmV3LW1vcmUtdGVzdC1wcm9ncmFtcy5wYXRjaApAQCAtMCwwICsxLDc0IEBACitGcm9tIGQ5MzBiMmRhNTdmN2M5ZWZiODBjOGNlZjhmOGFkYWQxNWJiYmMwZDMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDEwIEp1bCAyMDE0IDE0OjMwOjUyICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggNy85XSBJbnN0YWxsIGZldyBtb3JlIHRlc3QgcHJvZ3JhbXMKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9lZ2wvb3BlbmdsL01ha2VmaWxlLmFtICAgIHwgIDIgKy0KKyBzcmMvZWdsL29wZW5nbGVzMS9NYWtlZmlsZS5hbSB8IDEwICsrKystLS0tLS0KKyBzcmMvZWdsL29wZW52Zy9NYWtlZmlsZS5hbSAgICB8ICAyICstCisgMyBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvZWdsL29wZW5nbC9NYWtlZmlsZS5hbSBiL3NyYy9lZ2wvb3BlbmdsL01ha2VmaWxlLmFtCitpbmRleCAwYzcyMjhmLi44N2IyZjFhIDEwMDY0NAorLS0tIGEvc3JjL2VnbC9vcGVuZ2wvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9lZ2wvb3BlbmdsL01ha2VmaWxlLmFtCitAQCAtNTAsNyArNTAsNyBAQCBlbmRpZgorIGVuZGlmCisgCisgaWYgSEFWRV9FR0wKKy1ub2luc3RfUFJPR1JBTVMgPSBcCisrYmluX1BST0dSQU1TID0gXAorIAlkZW1vMSBcCisgCWRlbW8yIFwKKyAJZGVtbzMgXAorZGlmZiAtLWdpdCBhL3NyYy9lZ2wvb3BlbmdsZXMxL01ha2VmaWxlLmFtIGIvc3JjL2VnbC9vcGVuZ2xlczEvTWFrZWZpbGUuYW0KK2luZGV4IDM0NTVlNzUuLjUxNmU1MTYgMTAwNjQ0CistLS0gYS9zcmMvZWdsL29wZW5nbGVzMS9NYWtlZmlsZS5hbQorKysrIGIvc3JjL2VnbC9vcGVuZ2xlczEvTWFrZWZpbGUuYW0KK0BAIC0zNiwxMSArMzYsMTEgQEAgQU1fTERGTEFHUyA9IFwKKyAJJChFR0xfTElCUykgXAorIAktbG0KKyAKKy1ub2luc3RfUFJPR1JBTVMgPQorK2Jpbl9QUk9HUkFNUyA9CisgCisgaWYgSEFWRV9FR0wKKyBpZiBIQVZFX0dMRVNWMQorLW5vaW5zdF9QUk9HUkFNUyArPSBcCisrYmluX1BST0dSQU1TICs9IFwKKyAJZHJhd3RleF9zY3JlZW4gXAorIAlnZWFyc19zY3JlZW4gXAorIAl0b3J1c19zY3JlZW4gXAorQEAgLTU3LDEwICs1Nyw4IEBAIHRvcnVzX3NjcmVlbl9MREFERCA9IC4uL2VnbHV0L2xpYmVnbHV0X3NjcmVlbi5sYQorIHRyaV9zY3JlZW5fTERBREQgPSAuLi9lZ2x1dC9saWJlZ2x1dF9zY3JlZW4ubGEKKyAKKyBpZiBIQVZFX1gxMQorLW5vaW5zdF9QUk9HUkFNUyArPSBcCistCWNsZWFyCistCistYmluX1BST0dSQU1TID0gXAorK2Jpbl9QUk9HUkFNUyArPSBcCisrCWNsZWFyIFwKKyAJYmluZHRleCBcCisgCWRyYXd0ZXhfeDExIFwKKyAJZWdsZmJkZXYgXAorZGlmZiAtLWdpdCBhL3NyYy9lZ2wvb3BlbnZnL01ha2VmaWxlLmFtIGIvc3JjL2VnbC9vcGVudmcvTWFrZWZpbGUuYW0KK2luZGV4IDczMThhNDMuLmI1NDUyMjUgMTAwNjQ0CistLS0gYS9zcmMvZWdsL29wZW52Zy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL2VnbC9vcGVudmcvTWFrZWZpbGUuYW0KK0BAIC00OSw3ICs0OSw3IEBAIGVuZGlmCisgCisgaWYgSEFWRV9FR0wKKyBpZiBIQVZFX1ZHCistbm9pbnN0X1BST0dSQU1TID0gXAorK2Jpbl9QUk9HUkFNUyA9IFwKKyAJbGlvbl9zY3JlZW4gXAorIAlzcF9zY3JlZW4gXAorIAkkKEVHTF9YMTFfREVNT1MpCistLSAKKzIuMC4wCisKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZGVtb3MvMDAwOC1nbHNsLXBlcmYtQWRkLWZldy1taXNzaW5nLS5nbHNsLS52ZXJ0LS5mcmFnLWZpbGVzLXRvLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1kZW1vcy8wMDA4LWdsc2wtcGVyZi1BZGQtZmV3LW1pc3NpbmctLmdsc2wtLnZlcnQtLmZyYWctZmlsZXMtdG8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTYwODU3NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZGVtb3MvMDAwOC1nbHNsLXBlcmYtQWRkLWZldy1taXNzaW5nLS5nbHNsLS52ZXJ0LS5mcmFnLWZpbGVzLXRvLnBhdGNoCkBAIC0wLDAgKzEsMTAxIEBACitGcm9tIDBiNmY5NWY5YjhlY2UyMmU5ODU2YzE1MGU0YmUyOWZkODZlYWY1NDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CitEYXRlOiBUaHUsIDEwIEp1bCAyMDE0IDE0OjI5OjI3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggOC85XSBnbHNsLCBwZXJmOiBBZGQgZmV3IG1pc3NpbmcgLmdsc2wsIC52ZXJ0LCAuZnJhZyBmaWxlcyB0bworIEVYVFJBX0RBVEEKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9mcGdsc2wvTWFrZWZpbGUuYW0gfCAgMiArKworIHNyYy9nbHNsL01ha2VmaWxlLmFtICAgfCAxMCArKysrKysrKy0tCisgc3JjL3BlcmYvTWFrZWZpbGUuYW0gICB8ICA2ICsrKysrKworIHNyYy92cGdsc2wvTWFrZWZpbGUuYW0gfCAgMSArCisgNCBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2ZwZ2xzbC9NYWtlZmlsZS5hbSBiL3NyYy9mcGdsc2wvTWFrZWZpbGUuYW0KK2luZGV4IDQ3YzEwMzkuLmZkNDNjOTEgMTAwNjQ0CistLS0gYS9zcmMvZnBnbHNsL01ha2VmaWxlLmFtCisrKysgYi9zcmMvZnBnbHNsL01ha2VmaWxlLmFtCitAQCAtMzksMTAgKzM5LDEyIEBAIG5vaW5zdF9QUk9HUkFNUyA9IFwKKyBlbmRpZgorIAorIEVYVFJBX0RJU1QgPSBcCisrCWRlcHRoLXJlYWQuZ2xzbCBcCisgCWRvd2hpbGUyLmdsc2wgXAorIAlkb3doaWxlLmdsc2wgXAorIAlmb3JicmVhay5nbHNsIFwKKyAJZm9yLmdsc2wgXAorKwlpbmZpbml0ZS1sb29wLmdsc2wgXAorIAltb3YuZ2xzbCBcCisgCW1vdi1pbW0uZ2xzbCBcCisgCXNpbXBsZWlmLmdsc2wgXAorZGlmZiAtLWdpdCBhL3NyYy9nbHNsL01ha2VmaWxlLmFtIGIvc3JjL2dsc2wvTWFrZWZpbGUuYW0KK2luZGV4IDRmYWE4ZGIuLjA3OWEyOWQgMTAwNjQ0CistLS0gYS9zcmMvZ2xzbC9NYWtlZmlsZS5hbQorKysrIGIvc3JjL2dsc2wvTWFrZWZpbGUuYW0KK0BAIC0zNyw3ICszNyw3IEBAIEFNX0xERkxBR1MgPSBcCisgaWYgSEFWRV9HTFVUCisgYmluX1BST0dSQU1TID0gXAorIAlhcnJheSBcCistICAgICAgICBiZXppZXIgXAorKwliZXppZXIgXAorIAliaXRtYXAgXAorIAlicmljayBcCisgCWJ1bXAgXAorQEAgLTEyMywxMiArMTIzLDE2IEBAIEVYVFJBX0RJU1QgPSBcCisgCUNIMDYtYnJpY2sudmVydCBcCisgCUNIMTEtYnVtcG1hcC5mcmFnIFwKKyAJQ0gxMS1idW1wbWFwLnZlcnQgXAorKwlDSDExLWJ1bXBtYXB0ZXguZnJhZyBcCisgCUNIMTEtdG95YmFsbC5mcmFnIFwKKyAJQ0gxMS10b3liYWxsLnZlcnQgXAorIAlDSDE4LW1hbmRlbC5mcmFnIFwKKyAJQ0gxOC1tYW5kZWwudmVydCBcCistICAgICAgICBiZXppZXIuZ2VvbSBcCisrCWJlemllci5nZW9tIFwKKyAJYnJpY2suc2h0ZXN0IFwKKysJYmxpbmtpbmctdGVhcG90LmZyYWcgXAorKwlibGlua2luZy10ZWFwb3QudmVydCBcCisrCWNvbnZvbHV0aW9uLmZyYWcgXAorIAljb252b2x1dGlvbi52ZXJ0IFwKKyAJY3ViZW1hcC5mcmFnIFwKKyAJbWFuZGVsYnJvdC5zaHRlc3QgXAorQEAgLTEzOCw1ICsxNDIsNyBAQCBFWFRSQV9ESVNUID0gXAorIAlyZWZsZWN0LnZlcnQgXAorIAlzaGFkb3d0ZXguZnJhZyBcCisgCXNpbXBsZS52ZXJ0IFwKKysJc2ltcGxleC1ub2lzZS5nbHNsIFwKKyAJc2tpbm5pbmcuZnJhZyBcCisrCXNraW5uaW5nLnZlcnQgXAorIAl0b3liYWxsLnNodGVzdAorZGlmZiAtLWdpdCBhL3NyYy9wZXJmL01ha2VmaWxlLmFtIGIvc3JjL3BlcmYvTWFrZWZpbGUuYW0KK2luZGV4IDUzNjNjNTguLmM1Y2NhOGQgMTAwNjQ0CistLS0gYS9zcmMvcGVyZi9NYWtlZmlsZS5hbQorKysrIGIvc3JjL3BlcmYvTWFrZWZpbGUuYW0KK0BAIC01NywzICs1Nyw5IEBAIGJpbl9QUk9HUkFNUyA9IFwKKyBlbmRpZgorIAorIGdsc2xzdGF0ZXNjaGFuZ2VfTERBREQgPSBsaWJwZXJmLmxhIC4uL3V0aWwvbGlidXRpbC5sYQorKworK0VYVFJBX0RJU1QgPSBcCisrCWdsc2xzdGF0ZXNjaGFuZ2UxLmZyYWcgXAorKwlnbHNsc3RhdGVzY2hhbmdlMS52ZXJ0IFwKKysJZ2xzbHN0YXRlc2NoYW5nZTIuZnJhZyBcCisrCWdsc2xzdGF0ZXNjaGFuZ2UyLnZlcnQKK2RpZmYgLS1naXQgYS9zcmMvdnBnbHNsL01ha2VmaWxlLmFtIGIvc3JjL3ZwZ2xzbC9NYWtlZmlsZS5hbQoraW5kZXggNGE4NWVkNC4uNDhiMDhmNCAxMDA2NDQKKy0tLSBhL3NyYy92cGdsc2wvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy92cGdsc2wvTWFrZWZpbGUuYW0KK0BAIC00NCw2ICs0NCw3IEBAIEVYVFJBX0RJU1QgPSBcCisgCWZ1bmMyLmdsc2wgXAorIAlpZmVsc2UuZ2xzbCBcCisgCWlmLmdsc2wgXAorKwlpbmZpbml0ZS1sb29wLmdsc2wgXAorIAltb3YuZ2xzbCBcCisgCW5lc3RlZGlmcy5nbHNsIFwKKyAJbmVzdGVkc3dpenpsZS5nbHNsIFwKKy0tIAorMi4wLjAKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1kZW1vcy8wMDA5LWdsc2wtcGVyZi1JbnN0YWxsLS5nbHNsLS52ZXJ0LS5mcmFnLWZpbGVzLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1kZW1vcy8wMDA5LWdsc2wtcGVyZi1JbnN0YWxsLS5nbHNsLS52ZXJ0LS5mcmFnLWZpbGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyNjJkZWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWRlbW9zLzAwMDktZ2xzbC1wZXJmLUluc3RhbGwtLmdsc2wtLnZlcnQtLmZyYWctZmlsZXMucGF0Y2gKQEAgLTAsMCArMSw3MyBAQAorRnJvbSBjOGMzZGU1NDE3ZDZiNmM3ZDc1NzljNTI4YzBjYWI3MThmNGJmZGI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorRGF0ZTogVGh1LCAxMCBKdWwgMjAxNCAxNDo0ODoxMiArMDIwMAorU3ViamVjdDogW1BBVENIIDkvOV0gZ2xzbCwgcGVyZjogSW5zdGFsbCAuZ2xzbCwgLnZlcnQsIC5mcmFnIGZpbGVzCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworU2lnbmVkLW9mZi1ieTogTWFydGluIEphbnNhIDxNYXJ0aW4uSmFuc2FAZ21haWwuY29tPgorLS0tCisgc3JjL2ZwZ2xzbC9NYWtlZmlsZS5hbSB8IDMgKystCisgc3JjL2dsc2wvTWFrZWZpbGUuYW0gICB8IDMgKystCisgc3JjL3BlcmYvTWFrZWZpbGUuYW0gICB8IDMgKystCisgc3JjL3ZwZ2xzbC9NYWtlZmlsZS5hbSB8IDMgKystCisgNCBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvZnBnbHNsL01ha2VmaWxlLmFtIGIvc3JjL2ZwZ2xzbC9NYWtlZmlsZS5hbQoraW5kZXggZmQ0M2M5MS4uMmJmNTFkZSAxMDA2NDQKKy0tLSBhL3NyYy9mcGdsc2wvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9mcGdsc2wvTWFrZWZpbGUuYW0KK0BAIC0zOCw3ICszOCw4IEBAIG5vaW5zdF9QUk9HUkFNUyA9IFwKKyAJZnAtdHJpCisgZW5kaWYKKyAKKy1FWFRSQV9ESVNUID0gXAorK2RlbW9zZGF0YWRpcj0kKGRhdGFkaXIpLyQoUEFDS0FHRSkvCisrZGlzdF9kZW1vc2RhdGFfREFUQT0gXAorIAlkZXB0aC1yZWFkLmdsc2wgXAorIAlkb3doaWxlMi5nbHNsIFwKKyAJZG93aGlsZS5nbHNsIFwKK2RpZmYgLS1naXQgYS9zcmMvZ2xzbC9NYWtlZmlsZS5hbSBiL3NyYy9nbHNsL01ha2VmaWxlLmFtCitpbmRleCAwNzlhMjlkLi5mNjZlYzI5IDEwMDY0NAorLS0tIGEvc3JjL2dsc2wvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy9nbHNsL01ha2VmaWxlLmFtCitAQCAtMTE4LDcgKzExOCw4IEBAIHZlcnRfb3JfZnJhZ19vbmx5X0xEQUREID0gLi4vdXRpbC9saWJ1dGlsLmxhCisgdmVydF90ZXhfTERBREQgPSAuLi91dGlsL2xpYnV0aWwubGEKKyB2c3JheXRyYWNlX0xEQUREID0gLi4vdXRpbC9saWJ1dGlsLmxhCisgCistRVhUUkFfRElTVCA9IFwKKytkZW1vc2RhdGFkaXI9JChkYXRhZGlyKS8kKFBBQ0tBR0UpLworK2Rpc3RfZGVtb3NkYXRhX0RBVEE9IFwKKyAJQ0gwNi1icmljay5mcmFnIFwKKyAJQ0gwNi1icmljay52ZXJ0IFwKKyAJQ0gxMS1idW1wbWFwLmZyYWcgXAorZGlmZiAtLWdpdCBhL3NyYy9wZXJmL01ha2VmaWxlLmFtIGIvc3JjL3BlcmYvTWFrZWZpbGUuYW0KK2luZGV4IGM1Y2NhOGQuLjE0MDI1NmQgMTAwNjQ0CistLS0gYS9zcmMvcGVyZi9NYWtlZmlsZS5hbQorKysrIGIvc3JjL3BlcmYvTWFrZWZpbGUuYW0KK0BAIC01OCw3ICs1OCw4IEBAIGVuZGlmCisgCisgZ2xzbHN0YXRlc2NoYW5nZV9MREFERCA9IGxpYnBlcmYubGEgLi4vdXRpbC9saWJ1dGlsLmxhCisgCistRVhUUkFfRElTVCA9IFwKKytkZW1vc2RhdGFkaXI9JChkYXRhZGlyKS8kKFBBQ0tBR0UpLworK2Rpc3RfZGVtb3NkYXRhX0RBVEE9IFwKKyAJZ2xzbHN0YXRlc2NoYW5nZTEuZnJhZyBcCisgCWdsc2xzdGF0ZXNjaGFuZ2UxLnZlcnQgXAorIAlnbHNsc3RhdGVzY2hhbmdlMi5mcmFnIFwKK2RpZmYgLS1naXQgYS9zcmMvdnBnbHNsL01ha2VmaWxlLmFtIGIvc3JjL3ZwZ2xzbC9NYWtlZmlsZS5hbQoraW5kZXggNDhiMDhmNC4uNTUyNjg2NyAxMDA2NDQKKy0tLSBhL3NyYy92cGdsc2wvTWFrZWZpbGUuYW0KKysrKyBiL3NyYy92cGdsc2wvTWFrZWZpbGUuYW0KK0BAIC0zOCw3ICszOCw4IEBAIG5vaW5zdF9QUk9HUkFNUyA9IFwKKyAJdnAtdHJpcworIGVuZGlmCisgCistRVhUUkFfRElTVCA9IFwKKytkZW1vc2RhdGFkaXI9JChkYXRhZGlyKS8kKFBBQ0tBR0UpLworK2Rpc3RfZGVtb3NkYXRhX0RBVEE9IFwKKyAJZm9yLmdsc2wgXAorIAlmdW5jLmdsc2wgXAorIAlmdW5jMi5nbHNsIFwKKy0tIAorMi4wLjAKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1kZW1vc184LjIuMC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZGVtb3NfOC4yLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTQ1MTY0MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZGVtb3NfOC4yLjAuYmIKQEAgLTAsMCArMSw1NyBAQAorU1VNTUFSWSA9ICJNZXNhIGRlbW8gYXBwbGljYXRpb25zIgorREVTQ1JJUFRJT04gPSAiVGhpcyBwYWNrYWdlIGluY2x1ZGVzIHRoZSBkZW1vbnN0cmF0aW9uIGFwcGxpY2F0aW9uLCBzdWNoIGFzIGdseGdlYXJzLiBcCitUaGVzZSBhcHBsaWNhdGlvbnMgY2FuIGJlIHVzZWQgZm9yIE1lc2EgdmFsaWRhdGlvbiBhbmQgYmVuY2htYXJraW5nLiIKK0hPTUVQQUdFID0gImh0dHA6Ly9tZXNhM2Qub3JnIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnIgorU0VDVElPTiA9ICJ4MTEiCisKK0xJQ0VOU0UgPSAiTUlUICYgUEQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zcmMveGRlbW9zL2dseGdlYXJzLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9OTE0MjI1Nzg1NDUwZWZmNjQ0YTg2Yzg3MWQzYWUwMGUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3hkZW1vcy9nbHhkZW1vLmM7YmVnaW5saW5lPTE7ZW5kbGluZT04O21kNT1iMDFkNWFiMWFlZTk0ZDM1YjdlZmFhMmVmNDhlMWEwNiIKKworU1JDX1VSSSA9ICJmdHA6Ly9mdHAuZnJlZWRlc2t0b3Aub3JnL3B1Yi9tZXNhL2RlbW9zLyR7UFZ9LyR7QlBOfS0ke1BWfS50YXIuYnoyIFwKKyAgICBmaWxlOi8vMDAwMS1tZXNhLWRlbW9zLUFkZC1taXNzaW5nLWRhdGEtZmlsZXMucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAyLUNvcnJlY3RseS1pbXBsZW1lbnQtd2l0aC1BQ19XSVRILWdsdXQtc28tdGhhdC13aXRob3UucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAzLWNvbmZpZ3VyZS1BbGxvdy10by1kaXNhYmxlLWRlbW9zLXdoaWNoLXJlcXVpcmUtR0xFVy0ucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDA0LVVzZS1ERU1PU19EQVRBX0RJUi10by1sb2NhdGUtZGF0YS1maWxlcy5wYXRjaCBcCisgICAgZmlsZTovLzAwMDUtRml4LWJ1aWxkLXdoZW4tRUdMX01FU0Ffc2NyZWVuX3N1cmZhY2UtZXh0ZW5zaW9uLWlzbi5wYXRjaCBcCisgICAgZmlsZTovLzAwMDYtUXVlcnktZGlzcGxheS1mb3ItRUdMX01FU0Ffc2NyZWVuX3N1cmZhY2UtZXh0ZW5zaW9uLS5wYXRjaCBcCisgICAgZmlsZTovLzAwMDctSW5zdGFsbC1mZXctbW9yZS10ZXN0LXByb2dyYW1zLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwOC1nbHNsLXBlcmYtQWRkLWZldy1taXNzaW5nLS5nbHNsLS52ZXJ0LS5mcmFnLWZpbGVzLXRvLnBhdGNoIFwKKyAgICBmaWxlOi8vMDAwOS1nbHNsLXBlcmYtSW5zdGFsbC0uZ2xzbC0udmVydC0uZnJhZy1maWxlcy5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiNzI2MTNhMmM4YzAxMzcxNmRiMDJlM2ZmNTlkMjkwNjEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTRiZmVjYjU4MTZkZGQ0YjdiMzdjMWJjODc2YjYzZjFmN2YwNmZkYTU4NzkyMjFhOTc3NGQwOTUyZjkwYmE5MiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCisKK1BBQ0tBR0VDT05GSUcgPz0gImRybSBvc21lc2EgZnJlZXR5cGUyIGdibSBlZ2wgZ2xlczEgZ2xlczIgXAorICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExIGdsZXcgZ2x1JywgJycsIGQpfSIKKworIyBUaGUgV2F5bGFuZCBjb2RlIGRvZXNuJ3Qgd29yayB3aXRoIFdheWxhbmQgMS4wLCBzbyBkaXNhYmxlIGl0IGZvciBub3cKKyMke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3dheWxhbmQnLCAnd2F5bGFuZCcsICcnLCBkKX0iCisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtc3lzdGVtLWRhdGEtZmlsZXMiCisKK1BBQ0tBR0VDT05GSUdbZHJtXSA9ICItLWVuYWJsZS1saWJkcm0sLS1kaXNhYmxlLWxpYmRybSxsaWJkcm0iCitQQUNLQUdFQ09ORklHW2VnbF0gPSAiLS1lbmFibGUtZWdsLC0tZGlzYWJsZS1lZ2wsdmlydHVhbC9lZ2wiCitQQUNLQUdFQ09ORklHW2ZyZWV0eXBlMl0gPSAiLS1lbmFibGUtZnJlZXR5cGUyLC0tZGlzYWJsZS1mcmVldHlwZTIsZnJlZXR5cGUiCitQQUNLQUdFQ09ORklHW2dibV0gPSAiLS1lbmFibGUtZ2JtLC0tZGlzYWJsZS1nYm0sdmlydHVhbC9saWJnbCIKK1BBQ0tBR0VDT05GSUdbZ2xlczFdID0gIi0tZW5hYmxlLWdsZXMxLC0tZGlzYWJsZS1nbGVzMSx2aXJ0dWFsL2xpYmdsZXMxIgorUEFDS0FHRUNPTkZJR1tnbGVzMl0gPSAiLS1lbmFibGUtZ2xlczIsLS1kaXNhYmxlLWdsZXMyLHZpcnR1YWwvbGliZ2xlczIiCitQQUNLQUdFQ09ORklHW2dsdXRdID0gIi0td2l0aC1nbHV0PSR7U1RBR0lOR19FWEVDUFJFRklYRElSfSwtLXdpdGhvdXQtZ2x1dCwiCitQQUNLQUdFQ09ORklHW29zbWVzYV0gPSAiLS1lbmFibGUtb3NtZXNhLC0tZGlzYWJsZS1vc21lc2EsIgorUEFDS0FHRUNPTkZJR1t2Z10gPSAiLS1lbmFibGUtdmcsLS1kaXNhYmxlLXZnLHZpcnR1YWwvbGlib3BlbnZnIgorUEFDS0FHRUNPTkZJR1t3YXlsYW5kXSA9ICItLWVuYWJsZS13YXlsYW5kLC0tZGlzYWJsZS13YXlsYW5kLHZpcnR1YWwvbGliZ2wgd2F5bGFuZCIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS14MTEsLS1kaXNhYmxlLXgxMSx2aXJ0dWFsL2xpYngxMSIKK1BBQ0tBR0VDT05GSUdbZ2xld10gPSAiLS1lbmFibGUtZ2xldywtLWRpc2FibGUtZ2xldyxnbGV3IgorUEFDS0FHRUNPTkZJR1tnbHVdID0gIi0tZW5hYmxlLWdsdSwtLWRpc2FibGUtZ2x1LHZpcnR1YWwvbGliZ2wiCisKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworCSMgaXQgY2FuIGJlIGNvbXBsZXRlbHkgZW1wdHkgd2hlbiBhbGwgUEFDS0FHRUNPTkZJRyBvcHRpb25zIGFyZSBkaXNhYmxlZAorCXJtZGlyIC0taWdub3JlLWZhaWwtb24tbm9uLWVtcHR5ICR7RH0ke2JpbmRpcn0KKworCWlmIFsgLWYgJHtEfSR7YmluZGlyfS9jbGVhciBdOyB0aGVuCisgICAgICAgIAltdiAke0R9JHtiaW5kaXJ9L2NsZWFyICR7RH0ke2JpbmRpcn0vY2xlYXIubWVzYS1kZW1vcworCWZpCit9CmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWdsXzEwLjYuMy5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZ2xfMTAuNi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjMmJjYTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWdsXzEwLjYuMy5iYgpAQCAtMCwwICsxLDEzIEBACityZXF1aXJlIG1lc2FfJHtQVn0uYmIKKworU1VNTUFSWSArPSAiIChPcGVuR0wgb25seSwgbm8gRUdML0dMRVMpIgorCitGSUxFU0VYVFJBUEFUSFMgPS4gIiR7RklMRV9ESVJOQU1FfS9tZXNhOiIKKworUFJPVklERVMgPSAidmlydHVhbC9saWJnbCB2aXJ0dWFsL21lc2EiCisKK1MgPSAiJHtXT1JLRElSfS9tZXNhLSR7UFZ9IgorCitQQUNLQUdFQ09ORklHID8/PSAiZHJpICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMScsICcnLCBkKX0iCisKK0VYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS5pbmMgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjdhMmM0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS5pbmMKQEAgLTAsMCArMSwxODUgQEAKK1NVTU1BUlkgPSAiQSBmcmVlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBPcGVuR0wgQVBJIgorREVTQ1JJUFRJT04gPSAiTWVzYSBpcyBhbiBvcGVuLXNvdXJjZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgT3BlbkdMIHNwZWNpZmljYXRpb24gLSBcCithIHN5c3RlbSBmb3IgcmVuZGVyaW5nIGludGVyYWN0aXZlIDNEIGdyYXBoaWNzLiAgXAorQSB2YXJpZXR5IG9mIGRldmljZSBkcml2ZXJzIGFsbG93cyBNZXNhIHRvIGJlIHVzZWQgaW4gbWFueSBkaWZmZXJlbnQgZW52aXJvbm1lbnRzIFwKK3JhbmdpbmcgZnJvbSBzb2Z0d2FyZSBlbXVsYXRpb24gdG8gY29tcGxldGUgaGFyZHdhcmUgYWNjZWxlcmF0aW9uIGZvciBtb2Rlcm4gR1BVcy4gXAorTWVzYSBpcyB1c2VkIGFzIHBhcnQgb2YgdGhlIG92ZXJhbGwgRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSBhbmQgWC5vcmcgXAorZW52aXJvbm1lbnQuIgorCitIT01FUEFHRSA9ICJodHRwOi8vbWVzYTNkLm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZyIKK1NFQ1RJT04gPSAieDExIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kb2NzL2xpY2Vuc2UuaHRtbDttZDU9NmEyMzQ0NTk4MmE3YTk3MmFjMTk4ZTkzY2MxY2IzZGUiCisKK1BFID0gIjIiCisKK0RFUEVORFMgPSAiZXhwYXQgbWFrZWRlcGVuZC1uYXRpdmUgZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIGxpYnhtbDItbmF0aXZlIHVkZXYiCisKK1BST1ZJREVTID0gInZpcnR1YWwvbGliZ2wgdmlydHVhbC9saWJnbGVzMSB2aXJ0dWFsL2xpYmdsZXMyIHZpcnR1YWwvZWdsIHZpcnR1YWwvbWVzYSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHB5dGhvbm5hdGl2ZSBnZXR0ZXh0IGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAib3BlbmdsIgorCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtc2hhcmVkLWdsYXBpIgorCitQQUNLQUdFQ09ORklHID8/PSAiZWdsIGdsZXMgZHJpIFwKKwkJJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExJywgJycsIGQpfVwKKwkJJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd3YXlsYW5kJywgJ3dheWxhbmQnLCAnJywgZCl9XAorCQkiCisKK1gxMV9ERVBTID0gInhmODZkcmlwcm90byBnbHByb3RvIHZpcnR1YWwvbGlieDExIGxpYnhleHQgbGlieHhmODZ2bSBsaWJ4ZGFtYWdlIGxpYnhmaXhlcyIKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS1nbHgtdGxzLC0tZGlzYWJsZS1nbHgsJHtYMTFfREVQU30iCitQQUNLQUdFQ09ORklHW3h2bWNdID0gIi0tZW5hYmxlLXh2bWMsLS1kaXNhYmxlLXh2bWMsbGlieHZtYyIKK1BBQ0tBR0VDT05GSUdbd2F5bGFuZF0gPSAiLCx3YXlsYW5kIgorCitEUklEUklWRVJTID0gInN3cmFzdCIKK0RSSURSSVZFUlNfYXBwZW5kX3g4NiA9ICIscmFkZW9uLHIyMDAsbm91dmVhdSxpOTY1LGk5MTUiCitEUklEUklWRVJTX2FwcGVuZF94ODYtNjQgPSAiLHJhZGVvbixyMjAwLG5vdXZlYXUsaTk2NSxpOTE1IgorUEFDS0FHRUNPTkZJR1tkcmldID0gIi0tZW5hYmxlLWRyaSAtLXdpdGgtZHJpLWRyaXZlcnM9JHtEUklEUklWRVJTfSwgLS1kaXNhYmxlLWRyaSwgZHJpMnByb3RvIGxpYmRybSIKK1BBQ0tBR0VDT05GSUdbZHJpM10gPSAiLS1lbmFibGUtZHJpMywgLS1kaXNhYmxlLWRyaTMsIGRyaTNwcm90byBwcmVzZW50cHJvdG8gbGlieHNobWZlbmNlIgorCitFWFRSQV9PRUNPTkYgKz0gIi0tZW5hYmxlLWdibSIKKworUEFDS0FHRUNPTkZJR1tnbGVzXSA9ICItLWVuYWJsZS1nbGVzMSAtLWVuYWJsZS1nbGVzMiwgLS1kaXNhYmxlLWdsZXMxIC0tZGlzYWJsZS1nbGVzMiIKKworRUdMX1BMQVRGT1JNUyAgPSAiZHJtIgorRUdMX1BMQVRGT1JNUyAuPSIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICd4MTEnLCAnLHgxMScsICcnLCBkKX0iCitFR0xfUExBVEZPUk1TIC49IiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3dheWxhbmQnLCAnLHdheWxhbmQnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tlZ2xdID0gIi0tZW5hYmxlLWVnbCAtLXdpdGgtZWdsLXBsYXRmb3Jtcz0ke0VHTF9QTEFURk9STVN9LCAtLWRpc2FibGUtZWdsIgorCitHQUxMSVVNRFJJVkVSUyA9ICJzd3Jhc3QiCitHQUxMSVVNRFJJVkVSU19MTFZNMzMgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAncjYwMCcsICdyYWRlb25zaSxyNjAwJywgJycsIGQpfSIKK1BBQ0tBR0VDT05GSUdbcjYwMF0gPSAiIgorR0FMTElVTURSSVZFUlNfTExWTTMzX0VOQUJMRUQgPSAiJHtAYmFzZV92ZXJzaW9uX2xlc3Nfb3JfZXF1YWwoJ01FU0FfTExWTV9SRUxFQVNFJywgJzMuMicsIEZhbHNlLCBsZW4oJyR7R0FMTElVTURSSVZFUlNfTExWTTMzfScpID4gMCwgZCl9IgorR0FMTElVTURSSVZFUlNfTExWTSA9ICJyMzAwLHN2Z2Esbm91dmVhdSR7QCcsJHtHQUxMSVVNRFJJVkVSU19MTFZNMzN9JyBpZiAke0dBTExJVU1EUklWRVJTX0xMVk0zM19FTkFCTEVEfSBlbHNlICcnfSIKK0dBTExJVU1EUklWRVJTX2FwcGVuZF94ODYgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ2FsbGl1bS1sbHZtJywgJywke0dBTExJVU1EUklWRVJTX0xMVk19JywgJycsIGQpfSIKK0dBTExJVU1EUklWRVJTX2FwcGVuZF94ODYtNjQgPSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAnZ2FsbGl1bS1sbHZtJywgJywke0dBTExJVU1EUklWRVJTX0xMVk19JywgJycsIGQpfSIKKyMga2VlcCAtLXdpdGgtZ2FsbGl1bS1kcml2ZXJzIHNlcGFyYXRlLCBiZWNhdXNlIHdoZW4gb25seSBvbmUgb2YgZ2FsbGl1bSB2ZXJzaW9ucyBpcyBlbmFibGVkLCBvdGhlciAyIHdlcmUgYWRkaW5nIC0td2l0aG91dC1nYWxsaXVtLWRyaXZlcnMKK1BBQ0tBR0VDT05GSUdbZ2FsbGl1bV0gICAgICA9ICItLXdpdGgtZ2FsbGl1bS1kcml2ZXJzPSR7R0FMTElVTURSSVZFUlN9LCAtLXdpdGhvdXQtZ2FsbGl1bS1kcml2ZXJzIgorTUVTQV9MTFZNX1JFTEVBU0UgPz0gIjMuMyIKK1BBQ0tBR0VDT05GSUdbZ2FsbGl1bS1sbHZtXSA9ICItLWVuYWJsZS1nYWxsaXVtLWxsdm0gLS1lbmFibGUtbGx2bS1zaGFyZWQtbGlicywgLS1kaXNhYmxlLWdhbGxpdW0tbGx2bSwgbGx2bSR7TUVTQV9MTFZNX1JFTEVBU0V9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke0AnZWxmdXRpbHMnIGlmICR7R0FMTElVTURSSVZFUlNfTExWTTMzX0VOQUJMRUR9IGVsc2UgJyd9IgorZXhwb3J0IFdBTlRfTExWTV9SRUxFQVNFID0gIiR7TUVTQV9MTFZNX1JFTEVBU0V9IgorUEFDS0FHRUNPTkZJR1t4YV0gID0gIi0tZW5hYmxlLXhhLCAtLWRpc2FibGUteGEiCisKKyMgbGx2bXBpcGUgaXMgc2xvdyBpZiBjb21waWxlZCB3aXRoIC1mb21pdC1mcmFtZS1wb2ludGVyIChlLmcuIC1PMikKK0ZVTExfT1BUSU1JWkFUSU9OX2FwcGVuZCA9ICIgLWZuby1vbWl0LWZyYW1lLXBvaW50ZXIiCisKKyMgTXVsdGlwbGUgdmlydHVhbC9nbCBwcm92aWRlcnMgYmVpbmcgYnVpbHQgYnJlYWtzIHN0YWdpbmcKK0VYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgorCisjIFJlbW92ZSB0aGUgbWVzYSBkZXBlbmRlbmN5IG9uIG1lc2EtZGV2LCBhcyBtZXNhIGlzIGVtcHR5CitSREVQRU5EU18ke1BOfS1kZXYgPSAiIgorCitQQUNLQUdFUyA9KyAibGliZWdsLW1lc2EgbGliZWdsLW1lc2EtZGV2IFwKKyAgICAgICAgICAgICBsaWJvc21lc2EgbGlib3NtZXNhLWRldiBcCisgICAgICAgICAgICAgbGliZ2wtbWVzYSBsaWJnbC1tZXNhLWRldiBcCisgICAgICAgICAgICAgbGliZ2xhcGkgbGliZ2xhcGktZGV2IFwKKyAgICAgICAgICAgICBsaWJnYm0gbGliZ2JtLWRldiBcCisgICAgICAgICAgICAgbGliZ2xlczEtbWVzYSBsaWJnbGVzMS1tZXNhLWRldiBcCisgICAgICAgICAgICAgbGliZ2xlczItbWVzYSBsaWJnbGVzMi1tZXNhLWRldiBcCisgICAgICAgICAgICAgbGliZ2xlczMtbWVzYSBsaWJnbGVzMy1tZXNhLWRldiBcCisgICAgICAgICAgICAgbGlid2F5bGFuZC1lZ2wgbGlid2F5bGFuZC1lZ2wtZGV2IFwKKyAgICAgICAgICAgICBsaWJ4dm1jc29mdHBpcGUgbGlieHZtY3NvZnRwaXBlLWRldiBcCisgICAgICAgICAgICAgbGlieGF0cmFja2VyIGxpYnhhdHJhY2tlci1kZXYgXAorICAgICAgICAgICAgIG1lc2EtbWVnYWRyaXZlciBcCisgICAgICAgICAgICAiCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICAjIERyaXZlcnMgbmV2ZXIgbmVlZCBsaWJ0b29sIC5sYSBmaWxlcworICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vZHJpLyoubGEKKyAgICBybSAtZiAke0R9JHtsaWJkaXJ9L2VnbC8qLmxhCisgICAgcm0gLWYgJHtEfSR7bGliZGlyfS9nYWxsaXVtLXBpcGUvKi5sYQorICAgIHJtIC1mICR7RH0ke2xpYmRpcn0vZ2JtLyoubGEKKyAgICAKKyAgICAjIGl0IHdhcyBwYWNrYWdlZCBpbiBsaWJkcmljb3JlOS4xLjMtMSBhbmQgcHJldmVudGluZyB1cGdyYWRlcyB3aGVuIGRlYmlhbi5iYmNsYXNzIHdhcyB1c2VkIAorICAgIHJtIC1mICR7RH0ke3N5c2NvbmZkaXJ9L2RyaXJjCit9CisKKyMgRm9yIHRoZSBwYWNrYWdlcyB0aGF0IG1ha2UgdXAgdGhlIE9wZW5HTCBpbnRlcmZhY2VzLCBpbmplY3QgdmFyaWFibGVzIHNvIHRoYXQKKyMgdGhleSBkb24ndCBnZXQgRGViaWFuLXJlbmFtZWQgKHdoaWNoIHdvdWxkIHJlbW92ZSB0aGUgLW1lc2Egc3VmZml4KSwgYW5kCisjIFJQUk9WSURFcy9SQ09ORkxJQ1RzIG9uIHRoZSBnZW5lcmljIGxpYmdsIG5hbWUuCitweXRob24gX19hbm9ueW1vdXMoKSB7CisgICAgcGtnY29uZmlnID0gKGQuZ2V0VmFyKCdQQUNLQUdFQ09ORklHJywgVHJ1ZSkgb3IgIiIpLnNwbGl0KCkKKyAgICBmb3IgcCBpbiAoKCJlZ2wiLCAibGliZWdsIiwgImxpYmVnbDEiKSwKKyAgICAgICAgICAgICAgKCJkcmkiLCAibGliZ2wiLCAibGliZ2wxIiksCisgICAgICAgICAgICAgICgiZ2xlcyIsICJsaWJnbGVzMSIsICJsaWJnbGVzdjEtY20xIiksCisgICAgICAgICAgICAgICgiZ2xlcyIsICJsaWJnbGVzMiIsICJsaWJnbGVzdjItMiIpLAorICAgICAgICAgICAgICAoImdsZXMiLCAibGliZ2xlczMiLCkpOgorICAgICAgICBpZiBub3QgcFswXSBpbiBwa2djb25maWc6CisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBmdWxscCA9IHBbMV0gKyAiLW1lc2EiCisgICAgICAgIHBrZ3MgPSAiICIuam9pbihwWzE6XSkKKyAgICAgICAgZC5zZXRWYXIoIkRFQklBTl9OT0FVVE9OQU1FXyIgKyBmdWxscCwgIjEiKQorICAgICAgICBkLmFwcGVuZFZhcigiUlJFUExBQ0VTXyIgKyBmdWxscCwgcGtncykKKyAgICAgICAgZC5hcHBlbmRWYXIoIlJQUk9WSURFU18iICsgZnVsbHAsIHBrZ3MpCisgICAgICAgIGQuYXBwZW5kVmFyKCJSQ09ORkxJQ1RTXyIgKyBmdWxscCwgcGtncykKKyAgICAgICAgCisgICAgICAgICMgRm9yIC1kZXYsIHRoZSBmaXJzdCBlbGVtZW50IGlzIGJvdGggdGhlIERlYmlhbiBhbmQgb3JpZ2luYWwgbmFtZQorICAgICAgICBmdWxscCArPSAiLWRldiIKKyAgICAgICAgcGtncyA9IHBbMV0gKyAiLWRldiIKKyAgICAgICAgZC5zZXRWYXIoIkRFQklBTl9OT0FVVE9OQU1FXyIgKyBmdWxscCwgIjEiKQorICAgICAgICBkLmFwcGVuZFZhcigiUlJFUExBQ0VTXyIgKyBmdWxscCwgcGtncykKKyAgICAgICAgZC5hcHBlbmRWYXIoIlJQUk9WSURFU18iICsgZnVsbHAsIHBrZ3MpCisgICAgICAgIGQuYXBwZW5kVmFyKCJSQ09ORkxJQ1RTXyIgKyBmdWxscCwgcGtncykKK30KKworcHl0aG9uIG1lc2FfcG9wdWxhdGVfcGFja2FnZXMoKSB7CisgICAgcGtncyA9IFsnbWVzYScsICdtZXNhLWRldicsICdtZXNhLWRiZyddCisgICAgZm9yIHBrZyBpbiBwa2dzOgorICAgICAgICBkLnNldFZhcigiUlBST1ZJREVTXyVzIiAlIHBrZywgcGtnLnJlcGxhY2UoIm1lc2EiLCAibWVzYS1kcmkiLCAxKSkKKyAgICAgICAgZC5zZXRWYXIoIlJDT05GTElDVFNfJXMiICUgcGtnLCBwa2cucmVwbGFjZSgibWVzYSIsICJtZXNhLWRyaSIsIDEpKQorICAgICAgICBkLnNldFZhcigiUlJFUExBQ0VTXyVzIiAlIHBrZywgcGtnLnJlcGxhY2UoIm1lc2EiLCAibWVzYS1kcmkiLCAxKSkKKworICAgIGltcG9ydCByZQorICAgIGRyaV9kcml2ZXJzX3Jvb3QgPSBvcy5wYXRoLmpvaW4oZC5nZXRWYXIoJ2xpYmRpcicsIFRydWUpLCAiZHJpIikKKyAgICBkcmlfcGtncyA9IG9zLmxpc3RkaXIoZC5nZXRWYXIoJ1BLR0QnLCBUcnVlKSArIGRyaV9kcml2ZXJzX3Jvb3QpCisgICAgbGliX25hbWUgPSBkLmV4cGFuZCgiJHtNTFBSRUZJWH1tZXNhLW1lZ2Fkcml2ZXIiKQorICAgIGZvciBwIGluIGRyaV9wa2dzOgorICAgICAgICBtID0gcmUubWF0Y2goJ14oLiopX2RyaVwuc28kJywgcCkKKyAgICAgICAgaWYgbToKKyAgICAgICAgICAgIHBrZ19uYW1lID0gIiAke01MUFJFRklYfW1lc2EtZHJpdmVyLSVzIiAlIGxlZ2l0aW1pemVfcGFja2FnZV9uYW1lKG0uZ3JvdXAoMSkpCisgICAgICAgICAgICBkLmFwcGVuZFZhcigiUlBST1ZJREVTXyVzIiAlIGxpYl9uYW1lLCBwa2dfbmFtZSkKKyAgICAgICAgICAgIGQuYXBwZW5kVmFyKCJSQ09ORkxJQ1RTXyVzIiAlIGxpYl9uYW1lLCBwa2dfbmFtZSkKKyAgICAgICAgICAgIGQuYXBwZW5kVmFyKCJSUkVQTEFDRVNfJXMiICUgbGliX25hbWUsIHBrZ19uYW1lKQorCisgICAgcGlwZV9kcml2ZXJzX3Jvb3QgPSBvcy5wYXRoLmpvaW4oZC5nZXRWYXIoJ2xpYmRpcicsIFRydWUpLCAiZ2FsbGl1bS1waXBlIikKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCBwaXBlX2RyaXZlcnNfcm9vdCwgJ15waXBlXyguKilcLnNvJCcsICdtZXNhLWRyaXZlci1waXBlLSVzJywgJ01lc2EgJXMgcGlwZSBkcml2ZXInLCBleHRyYV9kZXBlbmRzPScnKQorfQorCitQQUNLQUdFU1BMSVRGVU5DU19wcmVwZW5kID0gIm1lc2FfcG9wdWxhdGVfcGFja2FnZXMgIgorCitQQUNLQUdFU19EWU5BTUlDICs9ICJebWVzYS1kcml2ZXItLioiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2RyaS8uZGVidWcvKiIKK0ZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L2RyaXJjIgorRklMRVNfbWVzYS1tZWdhZHJpdmVyID0gIiR7bGliZGlyfS9kcmkvKiIKK0ZJTEVTX2xpYmVnbC1tZXNhID0gIiR7bGliZGlyfS9saWJFR0wuc28uKiIKK0ZJTEVTX2xpYmdibSA9ICIke2xpYmRpcn0vbGliZ2JtLnNvLioiCitGSUxFU19saWJnbGVzMS1tZXNhID0gIiR7bGliZGlyfS9saWJHTEVTdjEqLnNvLioiCitGSUxFU19saWJnbGVzMi1tZXNhID0gIiR7bGliZGlyfS9saWJHTEVTdjIuc28uKiIKK0ZJTEVTX2xpYmdsLW1lc2EgPSAiJHtsaWJkaXJ9L2xpYkdMLnNvLioiCitGSUxFU19saWJnbGFwaSA9ICIke2xpYmRpcn0vbGliZ2xhcGkuc28uKiIKK0ZJTEVTX2xpYm9zbWVzYSA9ICIke2xpYmRpcn0vbGliT1NNZXNhLnNvLioiCitGSUxFU19saWJ3YXlsYW5kLWVnbCA9ICIke2xpYmRpcn0vbGlid2F5bGFuZC1lZ2wuc28uKiIKK0ZJTEVTX2xpYnh2bWNzb2Z0cGlwZSA9ICIke2xpYmRpcn0vbGliWHZNQ3NvZnRwaXBlLnNvLioiCitGSUxFU19saWJ4YXRyYWNrZXIgPSAiJHtsaWJkaXJ9L2xpYnhhdHJhY2tlci5zby4qIgorCitGSUxFU18ke1BOfS1kZXYgPSAiJHtsaWJkaXJ9L3BrZ2NvbmZpZy9kcmkucGMiCitGSUxFU19saWJlZ2wtbWVzYS1kZXYgPSAiJHtsaWJkaXJ9L2xpYkVHTC4qICR7aW5jbHVkZWRpcn0vRUdMICR7aW5jbHVkZWRpcn0vS0hSICR7bGliZGlyfS9wa2djb25maWcvZWdsLnBjIgorRklMRVNfbGliZ2JtLWRldiA9ICIke2xpYmRpcn0vbGliZ2JtLiogJHtsaWJkaXJ9L3BrZ2NvbmZpZy9nYm0ucGMgJHtpbmNsdWRlZGlyfS9nYm0uaCIKK0ZJTEVTX2xpYmdsLW1lc2EtZGV2ID0gIiR7bGliZGlyfS9saWJHTC4qICR7aW5jbHVkZWRpcn0vR0wgJHtsaWJkaXJ9L3BrZ2NvbmZpZy9nbC5wYyIKK0ZJTEVTX2xpYmdsYXBpLWRldiA9ICIke2xpYmRpcn0vbGliZ2xhcGkuKiIKK0ZJTEVTX2xpYmdsZXMxLW1lc2EtZGV2ID0gIiR7bGliZGlyfS9saWJHTEVTdjEqLiogJHtpbmNsdWRlZGlyfS9HTEVTICR7bGliZGlyfS9wa2djb25maWcvZ2xlc3YxKi5wYyIKK0ZJTEVTX2xpYmdsZXMyLW1lc2EtZGV2ID0gIiR7bGliZGlyfS9saWJHTEVTdjIuKiAke2luY2x1ZGVkaXJ9L0dMRVMyICR7bGliZGlyfS9wa2djb25maWcvZ2xlc3YyLnBjIgorRklMRVNfbGliZ2xlczMtbWVzYS1kZXYgPSAiJHtpbmNsdWRlZGlyfS9HTEVTMyIKK0ZJTEVTX2xpYm9zbWVzYS1kZXYgPSAiJHtsaWJkaXJ9L2xpYk9TTWVzYS4qICR7aW5jbHVkZWRpcn0vb3NtZXNhLmggJHtsaWJkaXJ9L3BrZ2NvbmZpZy9vc21lc2EucGMiCitGSUxFU19saWJ3YXlsYW5kLWVnbC1kZXYgPSAiJHtsaWJkaXJ9L3BrZ2NvbmZpZy93YXlsYW5kLWVnbC5wYyAke2xpYmRpcn0vbGlid2F5bGFuZC1lZ2wuKiIKK0ZJTEVTX2xpYnh2bWNzb2Z0cGlwZS1kZXYgPSAiJHtsaWJkaXJ9L2xpYlh2TUNzb2Z0cGlwZS5zbyAke2xpYmRpcn0vbGliWHZNQ3NvZnRwaXBlLmxhIgorRklMRVNfbGlieGF0cmFja2VyLWRldiA9ICIke2xpYmRpcn0vbGlieGF0cmFja2VyLnNvICR7bGliZGlyfS9saWJ4YXRyYWNrZXIubGEgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAke2luY2x1ZGVkaXJ9L3hhX3RyYWNrZXIuaCAke2luY2x1ZGVkaXJ9L3hhX2NvbXBvc2l0ZS5oICR7aW5jbHVkZWRpcn0veGFfY29udGV4dC5oIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3BrZ2NvbmZpZy94YXRyYWNrZXIucGMiCisKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L2RyaS8uZGVidWcvKiAke2xpYmRpcn0vZWdsLy5kZWJ1Zy8qICR7bGliZGlyfS9nYm0vLmRlYnVnLyogJHtsaWJkaXJ9L2dhbGxpdW0tcGlwZS8uZGVidWciCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhXzEwLjYuMy5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2FfMTAuNi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjNTUwNjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhXzEwLjYuMy5iYgpAQCAtMCwwICsxLDE0IEBACityZXF1aXJlICR7QlBOfS5pbmMKKworU1JDX1VSSSA9ICJmdHA6Ly9mdHAuZnJlZWRlc2t0b3Aub3JnL3B1Yi9tZXNhLyR7UFZ9L21lc2EtJHtQVn0udGFyLnh6IgorCitTUkNfVVJJW21kNXN1bV0gPSAiNTUzZTUyNWQyZjIwZWQ0OGZjYThmMWVjMzE3NmZkODMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTg1OTJlMDdjMzUwY2QyZTg5NjliNzNmYTgzMDQ4YzY1N2EzOWZlMmYxM2YzYjg4ZjVlNTgxOGZlMmU0Njc2ZCIKKworI2JlY2F1c2Ugd2UgY2Fubm90IHJlbHkgb24gdGhlIGZhY3QgdGhhdCBhbGwgYXBwcyB3aWxsIHVzZSBwa2djb25maWcsCisjbWFrZSBlZ2xwbGF0Zm9ybS5oIGluZGVwZW5kZW50IG9mIE1FU0FfRUdMX05PX1gxMV9IRUFERVIKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2VnbCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIHNlZCAtaSAtZSAncy9eI2lmIGRlZmluZWQoTUVTQV9FR0xfTk9fWDExX0hFQURFUlMpJC8jaWYgZGVmaW5lZChNRVNBX0VHTF9OT19YMTFfSEVBREVSUykgfHwgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAneDExJywgJzAnLCAnMScsIGQpfS8nICR7RH0ke2luY2x1ZGVkaXJ9L0VHTC9lZ2xwbGF0Zm9ybS5oCisgICAgZmkKK30KZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2FfZ2l0LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzAzNDUxNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2FfZ2l0LmJiCkBAIC0wLDAgKzEsMjIgQEAKK3JlcXVpcmUgJHtCUE59LmluYworCitERUZBVUxUX1BSRUZFUkVOQ0UgPSAiLTEiCisKK1NSQ1JFViA9ICJlYTBkMWY1NzVjMjE0YzA5YmEzZGYxMjY0NGE5NjBlODZlMDMxNzY2IgorUFYgPSAiMTAuNS40K2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9tZXNhL21lc2E7YnJhbmNoPTEwLjUiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0RFUEVORFMgKz0gInB5dGhvbi1tYWtvLW5hdGl2ZSIKKworaW5oZXJpdCBweXRob25uYXRpdmUKKworI2JlY2F1c2Ugd2UgY2Fubm90IHJlbHkgb24gdGhlIGZhY3QgdGhhdCBhbGwgYXBwcyB3aWxsIHVzZSBwa2djb25maWcsCisjbWFrZSBlZ2xwbGF0Zm9ybS5oIGluZGVwZW5kZW50IG9mIE1FU0FfRUdMX05PX1gxMV9IRUFERVIKK2RvX2luc3RhbGxfYXBwZW5kKCkgeworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2VnbCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisgICAgICAgIHNlZCAtaSAtZSAncy9eI2lmIGRlZmluZWQoTUVTQV9FR0xfTk9fWDExX0hFQURFUlMpJC8jaWYgZGVmaW5lZChNRVNBX0VHTF9OT19YMTFfSEVBREVSUykgfHwgJHtAYmIudXRpbHMuY29udGFpbnMoJ1BBQ0tBR0VDT05GSUcnLCAneDExJywgJzAnLCAnMScsIGQpfS8nICR7RH0ke2luY2x1ZGVkaXJ9L0VHTC9lZ2xwbGF0Zm9ybS5oCisgICAgZmkKK30KZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9taW5pLXgtc2Vzc2lvbi9maWxlcy9taW5pLXgtc2Vzc2lvbiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9taW5pLXgtc2Vzc2lvbi9maWxlcy9taW5pLXgtc2Vzc2lvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2E2NTVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21pbmkteC1zZXNzaW9uL2ZpbGVzL21pbmkteC1zZXNzaW9uCkBAIC0wLDAgKzEsMzkgQEAKKyMhL2Jpbi9zaAorIworIyBWZXJ5IHNpbXBsZSBzZXNzaW9uIG1hbmFnZXIgZm9yIE1pbmkgWAorIworCisjIFVuY29tbWVudCBiZWxvdyB0byBlbmFibGUgcGFyc2luZyBvZiBkZWJpYW4gbWVudSBlbnRyeXMKKyMgZXhwb3J0IE1CX1VTRV9ERUJfTUVOVVM9MSAKKworaWYgWyAtZSAkSE9NRS8ubWluaV94L3Nlc3Npb24gXQordGhlbgorZXhlYyAkSE9NRS8ubWluaV94L3Nlc3Npb24KK2ZpCisKK2lmIFsgLWUgL2V0Yy9taW5pX3gvc2Vzc2lvbiBdCit0aGVuCitleGVjIC9ldGMvbWluaV94L3Nlc3Npb24KK2ZpCisKK01JTklfWF9TRVNTSU9OX0RJUj0vZXRjL21pbmlfeC9zZXNzaW9uLmQKK2lmIFsgLWQgIiRNSU5JX1hfU0VTU0lPTl9ESVIiIF07IHRoZW4KKwkjIEV4ZWN1dGUgc2Vzc2lvbiBmaWxlIG9uIGJlaGFsZiBvZiBmaWxlIG93bmVyCisJZmluZCAkTUlOSV9YX1NFU1NJT05fRElSIC10eXBlIGYgfCB3aGlsZSByZWFkIFNFU1NJT05GSUxFOyBkbworCQlzZXQgK2UKKwkJVVNFUk5BTUU9YHN0YXQgLWMgJVUgJFNFU1NJT05GSUxFYAorCQkjIFVzaW5nIHN1IHJhdGhlciB0aGFuIHN1ZG8gYXMgbGF0ZXN0IDEuOC4xIGNhdXNlIGZhaWx1cmUgW1lPQ1RPICMxMjExXQorIwkJc3UgLWwgLWMgJyRTRVNTSU9ORklMRSYnICRVU0VSTkFNRQorCQlzdWRvIC1iIC1pIC11ICRVU0VSTkFNRSAkU0VTU0lPTkZJTEUmCisJCXNldCAtZQorCWRvbmUKK2ZpCisKKyMgVGhpcyByZXNvbHV0aW9uIGlzIGJpZyBlbm91Z2ggZm9yIGhvYjIncyBtYXggd2luZG93IHNpemUuCit4cmFuZHIgLXMgMTAyNHg3NjgKKworIyBEZWZhdWx0IGZpbGVzIHRvIHJ1biBpZiAkSE9NRS8ubWluaV94L3Nlc3Npb24gb3IgL2V0Yy9taW5pX3gvc2Vzc2lvbgorIyBkb250IGV4aXN0LiAKKworbWF0Y2hib3gtdGVybWluYWwmCitleGVjIG1hdGNoYm94LXdpbmRvdy1tYW5hZ2VyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWluaS14LXNlc3Npb24vbWluaS14LXNlc3Npb25fMC4xLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21pbmkteC1zZXNzaW9uL21pbmkteC1zZXNzaW9uXzAuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTg5ZDYzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21pbmkteC1zZXNzaW9uL21pbmkteC1zZXNzaW9uXzAuMS5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIlZlcnkgc2ltcGxlIHNlc3Npb24gbWFuYWdlciBmb3IgWCIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cueW9jdG9wcm9qZWN0Lm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3ppbGxhLnBva3lsaW51eC5vcmciCisKK1BSID0gInI0IgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vbWluaS14LXNlc3Npb247ZW5kbGluZT01O21kNT1iNjQzMGJmZmJjZjA1Zjk3NjBlNzI5Mzg4MjZiNzQ4NyIKKworU0VDVElPTiA9ICJ4MTEiCitSQ09ORkxJQ1RTXyR7UE59ID0gIm1hdGNoYm94LWNvbW1vbiIKKworU1JDX1VSSSA9ICJmaWxlOi8vbWluaS14LXNlc3Npb24iCitTID0gIiR7V09SS0RJUn0iCisKK1JERVBFTkRTXyR7UE59ID0gInN1ZG8iCisKK2luaGVyaXQgdXBkYXRlLWFsdGVybmF0aXZlcworCitBTFRFUk5BVElWRV8ke1BOfSA9ICJ4LXNlc3Npb24tbWFuYWdlciIKK0FMVEVSTkFUSVZFX1RBUkdFVFt4LXNlc3Npb24tbWFuYWdlcl0gPSAiJHtiaW5kaXJ9L21pbmkteC1zZXNzaW9uIgorQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiNTAiCisKK2RvX2luc3RhbGwoKSB7CisJaW5zdGFsbCAtZCAke0R9LyR7YmluZGlyfQorCWluc3RhbGwgLW0gMDc1NSAke1N9L21pbmkteC1zZXNzaW9uICR7RH0vJHtiaW5kaXJ9Cit9CmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbXgvbXgtMS4wL2ZpeC1idWlsZC1kaXIucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbXgvbXgtMS4wL2ZpeC1idWlsZC1kaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2M4YTgzMgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9teC9teC0xLjAvZml4LWJ1aWxkLWRpci5wYXRjaApAQCAtMCwwICsxLDQ2IEBACitGaXggYnVpbGQgZm9yIFMgIT0gQgorCitUaGlzIHBhdGNoIGlzIHNwZWNpZmljIHRvIHZlcnNpb24gMS40LngKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIEAgaHR0cHM6Ly9naXRodWIuY29tL2NsdXR0ZXItcHJvamVjdC9teC9pc3N1ZXMvODEKK1NpZ25lZC1vZmYtYnk6IFRvbWFzIEZyeWRyeWNoIDx0b21hc0BzbGVlcGZpdmUuY29tPgorLS0KK0luZGV4OiBnaXQvZG9jcy9yZWZlcmVuY2UvbGlibXgtZ3RrL01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvZG9jcy9yZWZlcmVuY2UvbGlibXgtZ3RrL01ha2VmaWxlLmFtCTIwMTMtMDUtMDggMTU6MDc6MDIuMDI3MTU0Nzg4ICswMTAwCisrKysgZ2l0L2RvY3MvcmVmZXJlbmNlL2xpYm14LWd0ay9NYWtlZmlsZS5hbQkyMDEzLTA1LTA4IDE1OjE0OjMzLjY4NDMxODY1MCArMDEwMAorQEAgLTEsMyArMSw2IEBACisrRVhUUkFfRElTVD0KKytDTEVBTkZJTEVTPQorKworICMjIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b21ha2UgdG8gcHJvZHVjZSBNYWtlZmlsZS5pbgorIAorICMgV2UgcmVxdWlyZSBhdXRvbWFrZSAxLjYgYXQgbGVhc3QuCitAQCAtNzcsNyArODAsNyBAQAorIEdUS0RPQ19MSUJTPSQoTVhfTElCUykgJCh0b3BfYnVpbGRkaXIpL214LWd0ay9saWJteC1ndGstJChNWF9BUElfVkVSU0lPTikubGEKKyAKKyAjIFRoaXMgaW5jbHVkZXMgdGhlIHN0YW5kYXJkIGd0ay1kb2MgbWFrZSBydWxlcywgY29waWVkIGJ5IGd0a2RvY2l6ZS4KKy1pbmNsdWRlICQodG9wX3NyY2RpcikvZ3RrLWRvYy5tYWtlCisraW5jbHVkZSAkKHRvcF9idWlsZGRpcikvZ3RrLWRvYy5tYWtlCisgCisgIyBPdGhlciBmaWxlcyB0byBkaXN0cmlidXRlCisgRVhUUkFfRElTVCArPSB2ZXJzaW9uLnhtbC5pbgorSW5kZXg6IGdpdC9kb2NzL3JlZmVyZW5jZS9saWJteC9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdpdC5vcmlnL2RvY3MvcmVmZXJlbmNlL2xpYm14L01ha2VmaWxlLmFtCTIwMTMtMDUtMDggMTU6MDc6MDIuMDI3MTU0Nzg4ICswMTAwCisrKysgZ2l0L2RvY3MvcmVmZXJlbmNlL2xpYm14L01ha2VmaWxlLmFtCTIwMTMtMDUtMDggMTU6MTQ6MjQuNDU2Mzc4MTM1ICswMTAwCitAQCAtMSwzICsxLDYgQEAKKytFWFRSQV9ESVNUPQorK0NMRUFORklMRVM9CisrCisgIyMgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvbWFrZSB0byBwcm9kdWNlIE1ha2VmaWxlLmluCisgCisgIyBXZSByZXF1aXJlIGF1dG9tYWtlIDEuNiBhdCBsZWFzdC4KK0BAIC0xMDYsNyArMTA5LDcgQEAKKyBHVEtET0NfTElCUz0kKE1YX0xJQlMpICQodG9wX2J1aWxkZGlyKS9teC9saWJteC0kKE1YX0FQSV9WRVJTSU9OKS5sYQorIAorICMgVGhpcyBpbmNsdWRlcyB0aGUgc3RhbmRhcmQgZ3RrLWRvYyBtYWtlIHJ1bGVzLCBjb3BpZWQgYnkgZ3RrZG9jaXplLgorLWluY2x1ZGUgJCh0b3Bfc3JjZGlyKS9ndGstZG9jLm1ha2UKKytpbmNsdWRlICQodG9wX2J1aWxkZGlyKS9ndGstZG9jLm1ha2UKKyAKKyAjIE90aGVyIGZpbGVzIHRvIGRpc3RyaWJ1dGUKKyBFWFRSQV9ESVNUICs9IHZlcnNpb24ueG1sLmluCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbXgvbXgtMS4wL2ZpeC10ZXN0LWluY2x1ZGVzLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL214L214LTEuMC9maXgtdGVzdC1pbmNsdWRlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MmM5M2RkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL214L214LTEuMC9maXgtdGVzdC1pbmNsdWRlcy5wYXRjaApAQCAtMCwwICsxLDIwIEBACitGaXggbWlzc2luZyBpbmNsdWRlIGRpcmVjdG9yeSB3aGVuIGJ1aWxkaW5nIHRlc3RzCisKK1RoaXMgcGF0Y2ggaXMgY3VycmVudGx5IHJlcXVpcmVkIGZvciBhbGwgdmVyc2lvbnMgb2YgbXgKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIEAgaHR0cHM6Ly9naXRodWIuY29tL2NsdXR0ZXItcHJvamVjdC9teC9pc3N1ZXMvODIKK1NpZ25lZC1vZmYtYnk6IFRvbWFzIEZyeWRyeWNoIDx0b21hc0BzbGVlcGZpdmUuY29tPgorLS0KK0luZGV4OiBnaXQvdGVzdHMvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy90ZXN0cy9NYWtlZmlsZS5hbQkyMDEzLTA1LTA4IDE1OjE4OjU2LjkxODU5NjQyNSArMDEwMAorKysrIGdpdC90ZXN0cy9NYWtlZmlsZS5hbQkyMDEzLTA1LTA4IDE1OjIzOjI2Ljg2NDc4MTQwMSArMDEwMAorQEAgLTEwLDcgKzEwLDggQEAKKyAKKyBJTkNMVURFUyA9IFwKKyAJLUkkKHRvcF9zcmNkaXIpIFwKKy0JLUkkKHRvcF9idWlsZGRpcikKKysJLUkkKHRvcF9idWlsZGRpcilcCisrCS1JJCh0b3BfYnVpbGRkaXIpL214CisgCisgbm9pbnN0X1BST0dSQU1TID0gCQkJXAorIAl0ZXN0LWRlZm9ybS10ZXh0dXJlCQlcCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbXgvbXgtMS4wXzEuNC43LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL214L214LTEuMF8xLjQuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTM1YjYxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL214L214LTEuMF8xLjQuNy5iYgpAQCAtMCwwICsxLDE0IEBACityZXF1aXJlIG14LmluYworCisjIFRoZSAxLjQuNyB0YWcgZG9lcyBub3QgYnVpbGQgYWdhaW5zdCBjb2dsIDEuMTQsIHB1bGwgaW4gYSByZXZpc2lvbiB3aXRoIGEgZml4CitTUkNSRVYgPSAiOWIxZGI2YjgwNjBiZDAwYjEyMWE2OTJmOTQyNDA0YTI0YWUyOTYwZiIKK1BWID0gIjEuNC43K2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vY2x1dHRlci1wcm9qZWN0L214LmdpdDticmFuY2g9bXgtMS40IFwKKwkgICBmaWxlOi8vZml4LWJ1aWxkLWRpci5wYXRjaCBcCisJICAgZmlsZTovL2ZpeC10ZXN0LWluY2x1ZGVzLnBhdGNoIFwKKwkgICIKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTElCO21kNT1mYmMwOTM5MDE4NTdmY2QxMThmMDY1ZjkwMDk4MmMyNCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9teC9teC13aWRnZXQuYztiZWdpbmxpbmU9ODtlbmRsaW5lPTIwO21kNT0xM2JiYTNjOTczYTcyNDE0YTcwMWUxZTg3YjVlZTg3OSIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9teC9teC5pbmMgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbXgvbXguaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlN2YxODYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbXgvbXguaW5jCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiQ2x1dHRlciBiYXNlZCBVSSB3aWRnZXQgbGlicmFyeSIKK0xJQ0VOU0UgPSAiTEdQTHYyLjEiCisKK2luaGVyaXQgY2x1dHRlciBhdXRvdG9vbHMtYnJva2Vuc2VwCisKK0RFUEVORFMgPSAiY2x1dHRlci0xLjAgZGJ1cy1nbGliIGdkay1waXhidWYiCisKK1NSQ19VUkkgPSAiaHR0cDovL3NvdXJjZS5jbHV0dGVyLXByb2plY3Qub3JnL3NvdXJjZXMvbXgvJHtAZ2V0X3ZlcmRpcigiJHtQVn0iKX0vbXgtJHtQVn0udGFyLnh6IgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWludHJvc3BlY3Rpb24JCVwKKwkgICAgICAgIC0tZGlzYWJsZS1ndGstZG9jCQlcCisJICAgICAgICAtLWRpc2FibGUtZ3RrLXdpZGdldHMJCVwKKwkJLS13aXRoLWRidXMJCQlcCisJCS0td2l0aC13aW5zeXM9bm9uZQkJXAorCQktLXdpdGhvdXQtY2x1dHRlci1pbWNvbnRleHQJXAorCQktLXdpdGhvdXQtY2x1dHRlci1nZXN0dXJlCVwKKwkJLS13aXRob3V0LXN0YXJ0dXAtbm90aWZpY2F0aW9uCVwKKwkJLS13aXRob3V0LWdsYWRlCQkJXAorCSAgICAgICAiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9IgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUtY2x1dHRlci5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLWNsdXR0ZXIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWQ2N2U1ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLWNsdXR0ZXIuYmIKQEAgLTAsMCArMSwyMSBAQAorIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgT3BlbmVkSGFuZCBMdGQuCisjCisKK1NVTU1BUlkgPSAiQ2x1dHRlciBwYWNrYWdlIGdyb3VwcyIKK0xJQ0VOU0UgPSAiTUlUIgorCitQUiA9ICJyNiIKKworaW5oZXJpdCBwYWNrYWdlZ3JvdXAKKworUEFDS0FHRVMgPSAiXAorICAgICR7UE59LWNvcmUgXAorICAgICIKKworU1VNTUFSWV8ke1BOfS1jb3JlID0gIkNsdXR0ZXIgZ3JhcGhpY3MgbGlicmFyeSIKK1JERVBFTkRTXyR7UE59LWNvcmUgPSAiXAorICAgIGNsdXR0ZXItMS4wIFwKKyAgICBjbHV0dGVyLWdzdC0zLjAgXAorICAgIGNsdXR0ZXItZ3RrLTEuMCBcCisgICAgIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUtZGlyZWN0ZmIuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS1kaXJlY3RmYi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41M2RjMGFlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUtZGlyZWN0ZmIuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJEaXJlY3RGQiB3aXRob3V0IFgxMSIKK0xJQ0VOU0UgPSAiTUlUIgorCitQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorCitpbmhlcml0IHBhY2thZ2Vncm91cAorCitUT1VDSCA9ICcgJHtAYmIudXRpbHMuY29udGFpbnMoIk1BQ0hJTkVfRkVBVFVSRVMiLCAidG91Y2hzY3JlZW4iLCAidHNsaWIgdHNsaWItY2FsaWJyYXRlIHRzbGliLXRlc3RzIiwgIiIsZCl9JworCitSREVQRU5EU18ke1BOfSA9ICIgXAorCQlkaXJlY3RmYiBcCisJCWRpcmVjdGZiLWV4YW1wbGVzIFwKKwkJcGFuZ28gXAorCQlwYW5nby1tb2R1bGVzIFwKKwkJZm9udGNvbmZpZyBcCisJCSR7VE9VQ0h9IFwKKyIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLXgxMS1iYXNlLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUteDExLWJhc2UuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTczMDFhMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLXgxMS1iYXNlLmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiQmFzaWMgWDExIHNlc3Npb24iCitERVNDUklQVElPTiA9ICJQYWNrYWdlcyByZXF1aXJlZCB0byBzZXQgdXAgYSBiYXNpYyB3b3JraW5nIFgxMSBzZXNzaW9uIgorTElDRU5TRSA9ICJNSVQiCitQUiA9ICJyMSIKKworaW5oZXJpdCBwYWNrYWdlZ3JvdXAgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIHJkZXBlbmRzIG9uIG1hdGNoYm94LXdtCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitSREVQRU5EU18ke1BOfSA9ICJcCisgICAgcGFja2FnZWdyb3VwLWNvcmUteDExLXhzZXJ2ZXIgXAorICAgIHBhY2thZ2Vncm91cC1jb3JlLXgxMS11dGlscyBcCisgICAgZGJ1cyBcCisgICAgcG9pbnRlcmNhbCBcCisgICAgbWF0Y2hib3gtdGVybWluYWwgXAorICAgIG1hdGNoYm94LXdtIFwKKyAgICBtaW5pLXgtc2Vzc2lvbiBcCisgICAgbGliZXJhdGlvbi1mb250cyBcCisgICAgIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUteDExLXhzZXJ2ZXIuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS14MTEteHNlcnZlci5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTNmMWI3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUteDExLXhzZXJ2ZXIuYmIKQEAgLTAsMCArMSwyMSBAQAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTEgSW50ZWwgQ29ycG9yYXRpb24KKyMKKworU1VNTUFSWSA9ICJYMTEgZGlzcGxheSBzZXJ2ZXIiCitMSUNFTlNFID0gIk1JVCIKK1BSID0gInI0MCIKKworUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKKworaW5oZXJpdCBwYWNrYWdlZ3JvdXAgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIHJkZXBlbmRzIG9uIFhTRVJWRVIKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1hTRVJWRVIgPz0gInhzZXJ2ZXIteG9yZyB4Zjg2LXZpZGVvLWZiZGV2IHhmODYtaW5wdXQtZXZkZXYiCitYU0VSVkVSQ09ERUNTID89ICIiCisKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICAke1hTRVJWRVJ9IFwKKyAgICAke1hTRVJWRVJDT0RFQ1N9IFwKKyAgICAiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS14MTEuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS14MTEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzUzN2Q4YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLXgxMS5iYgpAQCAtMCwwICsxLDM0IEBACisjCisjIENvcHlyaWdodCAoQykgMjAxMSBJbnRlbCBDb3Jwb3JhdGlvbgorIworCitMSUNFTlNFID0gIk1JVCIKK1BSID0gInI0MCIKKworaW5oZXJpdCBwYWNrYWdlZ3JvdXAgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIHJkZXBlbmRzIG9uIHgxMS1jb21tb24KK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1BBQ0tBR0VTID0gIiR7UE59ICR7UE59LXV0aWxzIgorCisjIHhzZXJ2ZXItY29tbW9uLCB4MTEtY29tbW9uCitWSVJUVUFMLVJVTlRJTUVfeHNlcnZlcl9jb21tb24gPz0gIngxMS1jb21tb24iCisKKyMgZWxzYSwgeHNlcnZlci1ub2RtLWluaXQKK1ZJUlRVQUwtUlVOVElNRV9ncmFwaGljYWxfaW5pdF9tYW5hZ2VyID89ICJ4c2VydmVyLW5vZG0taW5pdCIKKworU1VNTUFSWSA9ICJYMTEgZGlzcGxheSBzZXJ2ZXIgYW5kIGJhc2ljIHV0aWxpdGllcyIKK1JERVBFTkRTXyR7UE59ID0gIlwKKyAgICAke1BOfS14c2VydmVyIFwKKyAgICAke1BOfS11dGlscyBcCisgICAgIgorCitTVU1NQVJZXyR7UE59LXV0aWxzID0gIlgxMSBiYXNpYyB1dGlsaXRpZXMgYW5kIGluaXQiCitSREVQRU5EU18ke1BOfS11dGlscyA9ICJcCisgICAgJHtWSVJUVUFMLVJVTlRJTUVfeHNlcnZlcl9jb21tb259IFwKKyAgICAke1ZJUlRVQUwtUlVOVElNRV9ncmFwaGljYWxfaW5pdF9tYW5hZ2VyfSBcCisgICAgeGF1dGggXAorICAgIHhob3N0IFwKKyAgICB4c2V0IFwKKyAgICB4cmFuZHIgXAorICAgICIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nby5pbmMgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ28uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmMGZkZjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ28uaW5jCkBAIC0wLDAgKzEsOTkgQEAKK1NVTU1BUlkgPSAiRnJhbWV3b3JrIGZvciBsYXlvdXQgYW5kIHJlbmRlcmluZyBvZiBpbnRlcm5hdGlvbmFsaXplZCB0ZXh0IgorREVTQ1JJUFRJT04gPSAiUGFuZ28gaXMgYSBsaWJyYXJ5IGZvciBsYXlpbmcgb3V0IGFuZCByZW5kZXJpbmcgb2YgdGV4dCwgXAord2l0aCBhbiBlbXBoYXNpcyBvbiBpbnRlcm5hdGlvbmFsaXphdGlvbi4gUGFuZ28gY2FuIGJlIHVzZWQgYW55d2hlcmUgXAordGhhdCB0ZXh0IGxheW91dCBpcyBuZWVkZWQsIHRob3VnaCBtb3N0IG9mIHRoZSB3b3JrIG9uIFBhbmdvIHNvIGZhciBoYXMgXAorYmVlbiBkb25lIGluIHRoZSBjb250ZXh0IG9mIHRoZSBHVEsrIHdpZGdldCB0b29sa2l0LiBQYW5nbyBmb3JtcyB0aGUgXAorY29yZSBvZiB0ZXh0IGFuZCBmb250IGhhbmRsaW5nIGZvciBHVEsrLTIueC4iCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LnBhbmdvLm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmciCitTRUNUSU9OID0gImxpYnMiCitMSUNFTlNFID0gIkxHUEx2Mi4wKyIKKworWDExREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYngxMSBsaWJ4ZnQiCitERVBFTkRTID0gImdsaWItMi4wIGZvbnRjb25maWcgZnJlZXR5cGUgemxpYiB2aXJ0dWFsL2xpYmljb252IGNhaXJvIGhhcmZidXp6IHFlbXUtbmF0aXZlIgorCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExJywgJycsIGQpfSBcCisgICAgICAgICAgICAgICAgICAgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdGVzdCcsICdwdGVzdCcsICcnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLXdpdGgteGZ0LC0td2l0aG91dC14ZnQsJHtYMTFERVBFTkRTfSIKK1BBQ0tBR0VDT05GSUdbcHRlc3RdID0gIi0tZW5hYmxlLWluc3RhbGxlZC10ZXN0cywtLWRpc2FibGUtaW5zdGFsbGVkLXRlc3RzLGdsaWItMi4wLW5hdGl2ZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCitERVBFTkRTX2NsYXNzLW5hdGl2ZSA9ICJnbGliLTIuMC1uYXRpdmUgY2Fpcm8tbmF0aXZlIGhhcmZidXp6LW5hdGl2ZSIKKworUEFDS0FHRVNfRFlOQU1JQyArPSAiXnBhbmdvLW1vZHVsZS0uKiIKKworUlJFQ09NTUVORFNfJHtQTn0gPSAicGFuZ28tbW9kdWxlLWJhc2ljLWZjIgorCitpbmhlcml0IGdub21lYmFzZSBndGstZG9jIHFlbXUgcHRlc3QKKworIyBDcmVhdGUgYSBwYW5nby1tb2R1bGVzIHBhY2thZ2UKK0FMTE9XX0VNUFRZXyR7QlBOfS1tb2R1bGVzID0gIjEiCitQQUNLQUdFUyArPSAiJHtCUE59LW1vZHVsZXMiCitSUkVDT01NRU5EU18ke0JQTn0tbW9kdWxlcyA9ICAiJHtAIiAiLmpvaW4oW3AgZm9yIHAgaW4gZC5nZXRWYXIoJ1BBQ0tBR0VTJywgVHJ1ZSkuc3BsaXQoKSBpZiBwLmZpbmQoInBhbmdvLW1vZHVsZSIpICE9IC0xXSl9IgorCisKK0VYVFJBX0FVVE9SRUNPTkYgPSAiIgorCisjIHNlZW1zIHRvIGdvIHdyb25nIHdpdGggZGVmYXVsdCBjZmxhZ3MKK0ZVTExfT1BUSU1JWkFUSU9OX2FybSA9ICItTzIiCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUtaW50cm9zcGVjdGlvbiBcCisJCS0tZW5hYmxlLWV4cGxpY2l0LWRlcHM9bm8gXAorCSAgICAgICAgLS1kaXNhYmxlLWRlYnVnIFwKKwkgICAgICAgIC0td2l0aC1tbHByZWZpeD0ke01MUFJFRklYfSIKKworTEVBRF9TT05BTUUgPSAibGlicGFuZ28tMS4wKiIKK0xJQlYgPSAiMS44LjAiCisKK3BhbmdvX3Bvc3RpbnN0KCkgeworaWYgISBbIC1lICREJHtzeXNjb25mZGlyfS9wYW5nbyBdIDsgdGhlbgorCW1rZGlyIC1wICREJHtzeXNjb25mZGlyfS9wYW5nbworZmkKKworaWYgWyAtbiAiJEQiIF07IHRoZW4KKwkke0BxZW11X3J1bl9iaW5hcnkoZCwgJyREJywnJHtiaW5kaXJ9LyR7TUxQUkVGSVh9cGFuZ28tcXVlcnltb2R1bGVzJyl9IFwKKwkJJEQke2xpYmRpcn0vcGFuZ28vJHtMSUJWfS9tb2R1bGVzLyouc28gXAorCQk+ICREJHtzeXNjb25mZGlyfS9wYW5nby8ke01MUFJFRklYfXBhbmdvLm1vZHVsZXMgMj4vZGV2L251bGwKKworCVsgJD8gLW5lIDAgXSAmJiBleGl0IDEKKworCXNlZCAtaSAtZSAiczokRDo6IiAkRCR7c3lzY29uZmRpcn0vcGFuZ28vJHtNTFBSRUZJWH1wYW5nby5tb2R1bGVzCisKKwlleGl0IDAKK2Vsc2UKKwkke2JpbmRpcn0vJHtNTFBSRUZJWH1wYW5nby1xdWVyeW1vZHVsZXMgPiAvZXRjL3BhbmdvLyR7TUxQUkVGSVh9cGFuZ28ubW9kdWxlcworZmkKK30KKworIyBUaGlzIGJpbmFyeSBuZWVkcyB0byBiZSBjb21waWxlZCBmb3IgdGhlIGhvc3QgYXJjaGl0ZWN0dXJlLiAgVGhpcyBpc24ndCBwcmV0dHkhCitkb19jb21waWxlX3ByZXBlbmQgKCkgeworCWlmICR7QGJhc2VfY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdwdGVzdCcsICd0cnVlJywgJ2ZhbHNlJywgZCl9OyB0aGVuCisJCW1ha2UgQ0M9IiR7QlVJTERfQ0N9IiBDRkxBR1M9IiIgQU1fQ1BQRkxBR1M9IiQocGtnLWNvbmZpZy1uYXRpdmUgLS1jZmxhZ3MgZ2xpYi0yLjApIiBnZW5fYWxsX3VuaWNvZGVfTERBREQ9IiQocGtnLWNvbmZpZy1uYXRpdmUgLS1saWJzIGdsaWItMi4wKSIgLUMgJHtCfS90ZXN0cyBnZW4tYWxsLXVuaWNvZGUKKwlmaQorfQorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisJaWYgWyAiJHtNTFBSRUZJWH0iICE9ICIiIF07IHRoZW4KKwkJbXYgJHtEfS8ke2JpbmRpcn0vcGFuZ28tcXVlcnltb2R1bGVzICR7RH0vJHtiaW5kaXJ9LyR7TUxQUkVGSVh9cGFuZ28tcXVlcnltb2R1bGVzIAorCWZpCit9CisKKworcHl0aG9uIHBvcHVsYXRlX3BhY2thZ2VzX3ByZXBlbmQgKCkgeworICAgIHBhbmdvX3Bvc3RpbnN0ID0gZC5nZXRWYXIoInBhbmdvX3Bvc3RpbnN0IiwgVHJ1ZSkKKworICAgIG1vZHVsZXNfcm9vdCA9IGQuZXhwYW5kKCcke2xpYmRpcn0vcGFuZ28vJHtMSUJWfS9tb2R1bGVzJykKKworICAgIGRvX3NwbGl0X3BhY2thZ2VzKGQsIG1vZHVsZXNfcm9vdCwgJ15wYW5nby0oLiopXC5zbyQnLCAncGFuZ28tbW9kdWxlLSVzJywgJ1BhbmdvIG1vZHVsZSAlcycsIHBhbmdvX3Bvc3RpbnN0KQorfQorCitGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L3BhbmdvLyogJHtiaW5kaXJ9LyogJHtsaWJkaXJ9L2xpYnBhbmdvKiR7U09MSUJTfSIKK0ZJTEVTXyR7UE59LWRiZyArPSAiJHtsaWJkaXJ9L3BhbmdvLyR7TElCVn0vbW9kdWxlcy8uZGVidWciCitGSUxFU18ke1BOfS1kZXYgKz0gIiR7bGliZGlyfS9wYW5nby8ke0xJQlZ9L21vZHVsZXMvKi5sYSIKKworRklMRVNfJHtQTn0tcHRlc3QgKz0gIiR7bGliZXhlY2Rpcn0vaW5zdGFsbGVkLXRlc3RzLyogXAorICAgICAgICAgICAgICAgICAgICAgICR7ZGF0YWRpcn0vaW5zdGFsbGVkLXRlc3RzL3BhbmdvIgorRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmV4ZWNkaXJ9L2luc3RhbGxlZC10ZXN0cy8uZGVidWciCisKK1JERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJnbm9tZS1kZXNrdG9wLXRlc3RpbmcgbGliZXJhdGlvbi1mb250cyIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nby9tdWx0aWxpYi1maXgtY2xlYW4ucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ28vbXVsdGlsaWItZml4LWNsZWFuLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkNDE0ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ28vbXVsdGlsaWItZml4LWNsZWFuLnBhdGNoCkBAIC0wLDAgKzEsNzUgQEAKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitVcGRhdGVkIHRvIGFwcGx5IHRvIHBhbmdvLTEuMzIuNQorCitTaWduZWQtb2ZmLWJ5OiBNYXJrbyBMaW5kcXZpc3QgPGNhemZpNzRAZ21haWwuY29tPgorZGlmZiAtTnVyZCBwYW5nby0xLjMyLjUvY29uZmlndXJlLmFjIHBhbmdvLTEuMzIuNS9jb25maWd1cmUuYWMKKy0tLSBwYW5nby0xLjMyLjUvY29uZmlndXJlLmFjCTIwMTItMTItMDcgMDQ6NDM6MjUuMDAwMDAwMDAwICswMjAwCisrKysgcGFuZ28tMS4zMi41L2NvbmZpZ3VyZS5hYwkyMDEzLTAxLTA5IDA4OjI3OjQwLjMyODUxNjc5MiArMDIwMAorQEAgLTIxMyw2ICsyMTMsMTEgQEAKKworIEFDX1NVQlNUKFBBTkdPX0RFQlVHX0ZMQUdTKQorCisrQUNfQVJHX1dJVEgobWxwcmVmaXgsCisrICAgICAgICAgICAgQUNfSEVMUF9TVFJJTkcoWy0td2l0aC1tbHByZWZpeD08QVJHPl0sIFttdWx0aWxpYiBwcmVmaXhdKSwKKysgICAgICAgICAgICBtbHByZWZpeF9zdHI9JHdpdGh2YWwsIG1scHJlZml4X3N0cj0iIikKKytBQ19ERUZJTkVfVU5RVU9URUQoW01MUFJFRklYXSwgWyIkbWxwcmVmaXhfc3RyIl0sIFttdWx0aWxpYiBwcmVmaXguXSkKKysKKyBBQ19BUkdfRU5BQkxFKHJlYnVpbGRzLAorICAgICAgICAgICAgICAgW0FDX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtcmVidWlsZHNdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlIGFsbCBzb3VyY2UgYXV0b2dlbmVyYXRpb24gcnVsZXNdKV0sLAorZGlmZiAtTnVyZCBwYW5nby0xLjMyLjUvcGFuZ28vbW9kdWxlcy5jIHBhbmdvLTEuMzIuNS9wYW5nby9tb2R1bGVzLmMKKy0tLSBwYW5nby0xLjMyLjUvcGFuZ28vbW9kdWxlcy5jCTIwMTItMTItMTcgMjA6Mjc6NTYuMDAwMDAwMDAwICswMjAwCisrKysgcGFuZ28tMS4zMi41L3BhbmdvL21vZHVsZXMuYwkyMDEzLTAxLTA5IDA4OjMxOjE2LjMzNjUxMjA1MiArMDIwMAorQEAgLTU1NSwxMSArNTU1LDExIEBACisgICAgICAgZmlsZXMgPSBnX25ldyAoY2hhciAqLCAzKTsKKworICAgICAgIGZpbGVzWzBdID0gZ19idWlsZF9maWxlbmFtZSAocGFuZ29fZ2V0X3N5c2NvbmZfc3ViZGlyZWN0b3J5ICgpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBhbmdvLm1vZHVsZXMiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUxQUkVGSVggInBhbmdvLm1vZHVsZXMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgZmlsZXNbMV0gPSBnX2J1aWxkX2ZpbGVuYW1lIChwYW5nb19nZXRfbGliX3N1YmRpcmVjdG9yeSAoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1PRFVMRV9WRVJTSU9OLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1vZHVsZXMuY2FjaGUiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUxQUkVGSVggIm1vZHVsZXMuY2FjaGUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgZmlsZXNbMl0gPSBOVUxMOworICAgICB9CitAQCAtNjc0LDcgKzY3NCw4IEBACisgICAgICAgaWYgKCFub19tb2R1bGVfd2FybmluZykKKwl7CisJICBnY2hhciAqZmlsZW5hbWUgPSBnX2J1aWxkX2ZpbGVuYW1lIChwYW5nb19nZXRfc3lzY29uZl9zdWJkaXJlY3RvcnkgKCksCistCQkJCQkgICAgICAicGFuZ28ubW9kdWxlcyIsCisrLyogRm9yIG11bHRpbGliIGNhc2UsIGtlZXAgbXVsdGlwbGUgY29uZmlnIGZpbGUgZm9yIGRpZmZlcmVudCBsaWJzICovCisrCQkJCQkgICAgICBNTFBSRUZJWCAicGFuZ28ubW9kdWxlcyIsCisJCQkJCSAgICAgIE5VTEwpOworCSAgZ19jcml0aWNhbCAoIk5vIG1vZHVsZXMgZm91bmQ6XG4iCisJCSAgICAgICJObyBidWlsdGluIG9yIGR5bmFtaWNhbGx5IGxvYWRlZCBtb2R1bGVzIHdlcmUgZm91bmQuXG4iCitkaWZmIC1OdXJkIHBhbmdvLTEuMzIuNS9wYW5nby9tb2R1bGVzLmMucmVqIHBhbmdvLTEuMzIuNS9wYW5nby9tb2R1bGVzLmMucmVqCistLS0gcGFuZ28tMS4zMi41L3BhbmdvL21vZHVsZXMuYy5yZWoJMTk3MC0wMS0wMSAwMjowMDowMC4wMDAwMDAwMDAgKzAyMDAKKysrKyBwYW5nby0xLjMyLjUvcGFuZ28vbW9kdWxlcy5jLnJlagkyMDEzLTAxLTA5IDA4OjI3OjQwLjMyODUxNjc5MiArMDIwMAorQEAgLTAsMCArMSwxMiBAQAorKy0tLSBwYW5nby9tb2R1bGVzLmMJMjAxMC0wOS0yMiAwMzozNzowMS4wMDAwMDAwMDAgKzA4MDAKKysrKysgcGFuZ28vbW9kdWxlcy5jCTIwMTItMDUtMDggMjE6MjE6MDIuMDAwMDAwMDAwICswODAwCisrQEAgLTUyOSw3ICs1MjksOCBAQAorKworKyAgIGlmICghZmlsZV9zdHIpCisrICAgICBmaWxlX3N0ciA9IGdfYnVpbGRfZmlsZW5hbWUgKHBhbmdvX2dldF9zeXNjb25mX3N1YmRpcmVjdG9yeSAoKSwKKystCQkJCSAicGFuZ28ubW9kdWxlcyIsCisrKy8qIEZvciBtdWx0aWxpYiBjYXNlLCBrZWVwIG11bHRpcGxlIGNvbmZpZyBmaWxlIGZvciBkaWZmZXJlbnQgbGlicyAqLworKysJCQkJIE1MUFJFRklYICJwYW5nby5tb2R1bGVzIiwKKysgCQkJCSBOVUxMKTsKKysKKysgICBmaWxlcyA9IHBhbmdvX3NwbGl0X2ZpbGVfbGlzdCAoZmlsZV9zdHIpOworZGlmZiAtTnVyZCBwYW5nby0xLjMyLjUvcGFuZ28vcXVlcnltb2R1bGVzLmMgcGFuZ28tMS4zMi41L3BhbmdvL3F1ZXJ5bW9kdWxlcy5jCistLS0gcGFuZ28tMS4zMi41L3BhbmdvL3F1ZXJ5bW9kdWxlcy5jCTIwMTItMDgtMjggMTU6Mjc6MTguMDAwMDAwMDAwICswMzAwCisrKysgcGFuZ28tMS4zMi41L3BhbmdvL3F1ZXJ5bW9kdWxlcy5jCTIwMTMtMDEtMDkgMDg6MzE6NDcuODI4NTExMzU5ICswMjAwCitAQCAtMzA0LDcgKzMwNCw3IEBACisKKyAgICAgICBjYWNoZV9maWxlID0gZ19idWlsZF9maWxlbmFtZSAocGFuZ29fZ2V0X2xpYl9zdWJkaXJlY3RvcnkgKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1PRFVMRV9WRVJTSU9OLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibW9kdWxlcy5jYWNoZSIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1MUFJFRklYICJtb2R1bGVzLmNhY2hlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7CisgICAgICAgZXJyID0gTlVMTDsKKyAgICAgICBpZiAoIWdfZmlsZV9zZXRfY29udGVudHMgKGNhY2hlX2ZpbGUsIGNvbnRlbnRzLT5zdHIsIC0xLCAmZXJyKSkKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9wYW5nby9wYW5nby9ydW4tcHRlc3QgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ28vcnVuLXB0ZXN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhODdhNzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ28vcnVuLXB0ZXN0CkBAIC0wLDAgKzEsMyBAQAorIyEgL2Jpbi9zaAorCitnbm9tZS1kZXNrdG9wLXRlc3RpbmctcnVubmVyIHBhbmdvCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGFuZ28vcGFuZ29fMS4zNi44LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhbmdvL3BhbmdvXzEuMzYuOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNGU0MjUwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BhbmdvL3BhbmdvXzEuMzYuOC5iYgpAQCAtMCwwICsxLDEwIEBACityZXF1aXJlIHBhbmdvLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYmY1MDAwMmFlZmQwMDJmNDllN2JiODU0MDYzZjdlNyIKKworU1JDX1VSSSArPSAiZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgICBmaWxlOi8vbXVsdGlsaWItZml4LWNsZWFuLnBhdGNoIFwKKyIKKworU1JDX1VSSVthcmNoaXZlLm1kNXN1bV0gPSAiMjE3YTlhNzUzMDA2Mjc1MjE1ZmE5ZmExMjc3NjBlY2UiCitTUkNfVVJJW2FyY2hpdmUuc2hhMjU2c3VtXSA9ICIxOGRiYjUxYjhhZTEyYmFlMGFiN2E5NThlN2NmMzMxN2M5YWNmYzhhMWUxMTAzZWMyZjE0NzE2NGEwZmMyZDA3IgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BpZ2xpdC9waWdsaXQvMDAwMS10ZXN0cy1GaXgtbWlzc2luZy1pbmNsdWRlLW9mLVh1dGlsLmgucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvcGlnbGl0L3BpZ2xpdC8wMDAxLXRlc3RzLUZpeC1taXNzaW5nLWluY2x1ZGUtb2YtWHV0aWwuaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjdjYzA0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BpZ2xpdC9waWdsaXQvMDAwMS10ZXN0cy1GaXgtbWlzc2luZy1pbmNsdWRlLW9mLVh1dGlsLmgucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorU2lnbmVkLW9mZi1ieTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KKworRnJvbSBlNDBlMGEyNWY5OTZkMmUyMDVjNGJkZWMyYzhhNWNjN2Y3NGU1MDY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogT3RhdmlvIFNhbHZhZG9yIDxvdGF2aW9Ab3NzeXN0ZW1zLmNvbS5icj4KK0RhdGU6IE1vbiwgMTUgSnVuIDIwMTUgMTY6MjU6MzAgLTAzMDAKK1N1YmplY3Q6IHRlc3RzOiBGaXggbWlzc2luZyBpbmNsdWRlIG9mIFh1dGlsLmgKKworVGhlIEVHTCB0ZXN0cyByZWx5IG9uIFh1dGlsLmggYmVpbmcgaW5jbHVkZWQuIFNvbWUgRUdMIGltcGxlbWVudGF0aW9uCitkb2VzIG5vdCBleHBsaXRseSBpbmNsdWRlIGl0IGJ5IGRlZmF1bHQgYW5kIHRoZW4gdGhlIGJ1aWxkIGZhaWxzLgorCitTaWduZWQtb2ZmLWJ5OiBPdGF2aW8gU2FsdmFkb3IgPG90YXZpb0Bvc3N5c3RlbXMuY29tLmJyPgorUmV2aWV3ZWQtYnk6IE5laWwgUm9iZXJ0cyA8bmVpbEBsaW51eC5pbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS90ZXN0cy9lZ2wvZWdsLWNvbmZpZ2xlc3MtY29udGV4dC5jIGIvdGVzdHMvZWdsL2VnbC1jb25maWdsZXNzLWNvbnRleHQuYworaW5kZXggMDUwNGEyNi4uMTU0YjU1YyAxMDA2NDQKKy0tLSBhL3Rlc3RzL2VnbC9lZ2wtY29uZmlnbGVzcy1jb250ZXh0LmMKKysrKyBiL3Rlc3RzL2VnbC9lZ2wtY29uZmlnbGVzcy1jb250ZXh0LmMKK0BAIC0zMiw2ICszMiw3IEBACisgLyogQ2h1bmtzIG9mIGNvZGUgaW4gdGhpcyBmaWxlIGFyZSB0YWtlbiBmcm9tIGVnbC11dGlsLmMgKi8KKyAKKyAjaW5jbHVkZSA8WDExL1hsaWIuaD4KKysjaW5jbHVkZSA8WDExL1h1dGlsLmg+CisgCisgI2luY2x1ZGUgInBpZ2xpdC11dGlsLWdsLmgiCisgI2luY2x1ZGUgInBpZ2xpdC11dGlsLWVnbC5oIgorLS0gCitjZ2l0IHYwLjEwLjIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9waWdsaXQvcGlnbGl0X2dpdC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9waWdsaXQvcGlnbGl0X2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDgyNWM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BpZ2xpdC9waWdsaXRfZ2l0LmJiCkBAIC0wLDAgKzEsMzkgQEAKK1NVTU1BUlkgPSAiT3BlbkdMIGRyaXZlciB0ZXN0aW5nIGZyYW1ld29yayIKK0xJQ0VOU0UgPSAiTUlUICYgTEdQTHYyKyAmIEdQTHYzICYgR1BMdjIrICYgQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjJiZWRlZDcxMDNhM2Q4YTQ0MmEyYTAzOTFkNjA3YjAiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvcGlnbGl0IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtdGVzdHMtRml4LW1pc3NpbmctaW5jbHVkZS1vZi1YdXRpbC5oLnBhdGNoIgorCisjIEZyb20gMjAxNC8xMi8wNAorU1JDUkVWID0gIjEyNmM3ZDA0OWI4ZjMyZTU0MTYyNWQ1YTM1ZmJjNWY1ZTRlN2ZiZjgiCisjICh3aGVuIFBWIGdvZXMgYWJvdmUgMS4wIHJlbW92ZSB0aGUgdHJhaWxpbmcgcikKK1BWID0gIjEuMCtnaXRyJHtTUkNQVn0iCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0RFUEVORFMgPSAidmlydHVhbC9saWJ4MTEgbGlieHJlbmRlciB3YWZmbGUgdmlydHVhbC9saWJnbCBsaWJnbHUgcHl0aG9uLW1ha28tbmF0aXZlIHB5dGhvbi1udW1weS1uYXRpdmUiCisKK2luaGVyaXQgY21ha2UgcHl0aG9ubmF0aXZlIGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tmcmVlZ2x1dF0gPSAiLURQSUdMSVRfVVNFX0dMVVQ9MSwtRFBJR0xJVF9VU0VfR0xVVD0wLGZyZWVnbHV0LCIKKworZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CisgICBpZiBbICIke0BiYi51dGlscy5jb250YWlucygnUEFDS0FHRUNPTkZJRycsICdmcmVlZ2x1dCcsICd5ZXMnLCAnbm8nLCBkKX0iID0gIm5vIiBdOyB0aGVuCisgICAgICAgIHNlZCAtaSAtZSAiL14jLippbmNsdWRlIDxHTFwvZnJlZWdsdXRfZXh0Lmg+JC9kIiAke1N9L3NyYy9waWdsaXQvZ2x1dF93cmFwLmgKKyAgICAgICAgc2VkIC1pIC1lICIvXiMuKmluY2x1ZGUuKjxHTFwvZ2x1dC5oPiQvZCIgJHtTfS9zcmMvcGlnbGl0L2dsdXRfd3JhcC5oCisgICBmaQorfQorCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS9waWdsaXQvKi8uZGVidWcvIgorCitSREVQRU5EU18ke1BOfSA9ICJ3YWZmbGUgcHl0aG9uIHB5dGhvbi1tYWtvIHB5dGhvbi1qc29uIHB5dGhvbi1zdWJwcm9jZXNzIFwKKwlweXRob24tYXJncGFyc2UgcHl0aG9uLWltcG9ydGxpYiBweXRob24tdW5peGFkbWluIFwKKwlweXRob24tbXVsdGlwcm9jZXNzaW5nIHB5dGhvbi10ZXh0dXRpbHMgcHl0aG9uLW5ldHNlcnZlciBweXRob24tc2hlbGwgXAorCW1lc2EtZGVtb3MgYmFzaCBcCisJIgorCitJTlNBTkVfU0tJUF8ke1BOfSArPSAiZGV2LXNvIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BvbmctY2xvY2svcG9uZy1jbG9jay9wb25nLWNsb2NrLW5vLWZsaWNrZXIuYyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9wb25nLWNsb2NrL3BvbmctY2xvY2svcG9uZy1jbG9jay1uby1mbGlja2VyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDFjZWJjNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9wb25nLWNsb2NrL3BvbmctY2xvY2svcG9uZy1jbG9jay1uby1mbGlja2VyLmMKQEAgLTAsMCArMSw0MTAgQEAKKy8qCisgKiBQb25nIENsb2NrIC0gQSBjbG9jayB0aGF0IHBsYXlzIHBvbmcuIAorICogICAgICAgICAgICAgU2VlIGh0dHA6Ly9tb2NvbG9jby5jb20vYXJjaGl2ZXMvMDAxNzY2LnBocCBmb3IgdGhlIGluc3BpcmF0aW9uLgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwNSBNYXR0aGV3IEFsbHVtCisgKgorICogQXV0aG9yOiBNYXR0aGV3IEFsbHVtIG1hbGx1bUBvcGVuZWRoYW5kLmNvbQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCisgKgorICovCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorCisjaW5jbHVkZSA8WDExL1hsaWIuaD4KKyNpbmNsdWRlIDxYMTEvWHV0aWwuaD4KKyNpbmNsdWRlIDxYMTEvWGF0b20uaD4KKworLyogVHdlYWsgdmFsdWVzIGZvciBkaWZmZXJlbnQgaHcgc2V0dXBzICovCisKKyNkZWZpbmUgRlBTICAgICAgICAgIDUwCisjZGVmaW5lIFJFU1ggICAgICAgICA0MAorI2RlZmluZSBSRVNZICAgICAgICAgNDAKKyNkZWZpbmUgVE9fTUlTU19TRUNTIDU1CisjZGVmaW5lIEJBTExEWCAgICAgICAxNgorI2RlZmluZSBCQUxMRFkgICAgICAgNAorCisKK3R5cGVkZWYgc3RydWN0IFBvbmdDbG9jaworeworICBEaXNwbGF5ICp4ZHB5OworICBpbnQgICAgICB4c2NyZWVuOworICBXaW5kb3cgICB4d2luLCB4d2luX3Jvb3Q7CisgIFBpeG1hcCAgIGJhY2tidWZmZXI7CisgIEdDICAgICAgIHhnYzsKKyAgaW50ICAgICAgeHdpbl93aWR0aCwgeHdpbl9oZWlnaHQ7CisgIGludCAgICAgIHBpeGVsdywgcGl4ZWxoOworCisgIGludCAgICAgIGJhbGxfeCwgYmFsbF95LCBiYWxsX2R4LCBiYWxsX2R5OworICBpbnQgICAgICBiYXRhX3ksIGJhdGJfeTsKKyAgQm9vbCAgICAgYmF0YV90b19taXNzLCBiYXRiX3RvX21pc3M7CisKK30gCitQb25nQ2xvY2s7CisKK3ZvaWQKK2dldF90aW1lKGludCAqaG91ciwgaW50ICptaW4sIGludCAqc2VjKQoreworICBzdHJ1Y3QgdGltZXZhbCAgIHR2OworICBzdHJ1Y3QgdG0gICAgICAgKmxvY2FsVGltZSA9IE5VTEw7IAorICB0aW1lX3QgICAgICAgICAgIGFjdHVhbFRpbWU7CisKKyAgZ2V0dGltZW9mZGF5KCZ0diwgMCk7CisgIGFjdHVhbFRpbWUgPSB0di50dl9zZWM7CisgIGxvY2FsVGltZSA9IGxvY2FsdGltZSgmYWN0dWFsVGltZSk7CisKKyAgaWYgKGhvdXIpCisgICAgKmhvdXIgPSBsb2NhbFRpbWUtPnRtX2hvdXI7CisgIAorICBpZiAobWluKQorICAgICptaW4gID0gbG9jYWxUaW1lLT50bV9taW47CisKKyAgaWYgKHNlYykKKyAgICAqc2VjICA9IGxvY2FsVGltZS0+dG1fc2VjOworfQorCit2b2lkCitkcmF3X3JlY3QgKFBvbmdDbG9jayAqcG9uZ19jbG9jaywgCisJICAgaW50ICAgICAgICB4LAorCSAgIGludCAgICAgICAgeSwKKwkgICBpbnQgICAgICAgIHdpZHRoLAorCSAgIGludCAgICAgICAgaGVpZ2h0KQoreworICBYRmlsbFJlY3RhbmdsZSAocG9uZ19jbG9jay0+eGRweSwKKwkJICBwb25nX2Nsb2NrLT5iYWNrYnVmZmVyLAorCQkgIHBvbmdfY2xvY2stPnhnYywKKwkJICB4ICogcG9uZ19jbG9jay0+cGl4ZWx3LAorCQkgIHkgKiBwb25nX2Nsb2NrLT5waXhlbGgsCisJCSAgd2lkdGggKiBwb25nX2Nsb2NrLT5waXhlbHcsCisJCSAgaGVpZ2h0ICogcG9uZ19jbG9jay0+cGl4ZWxoKTsKK30KKwordm9pZAorZHJhd19maWVsZCAoUG9uZ0Nsb2NrICpwb25nX2Nsb2NrKQoreworICBpbnQgaTsKKworICBkcmF3X3JlY3QgKHBvbmdfY2xvY2ssIDAsIDAsIFJFU1grMSwgMSk7ICAKKyAgZHJhd19yZWN0IChwb25nX2Nsb2NrLCAwLCBSRVNZLTEsIFJFU1grMSwgMSk7ICAKKworICBmb3IgKGk9MDsgaSA8IFJFU1kvMjsgaSsrKQorICAgIGRyYXdfcmVjdCAocG9uZ19jbG9jaywgKFJFU1gvMiktMSwgaSoyLCAyLCAxKTsgIAorfQorCit2b2lkCitkcmF3X2RpZ2l0IChQb25nQ2xvY2sgKnBvbmdfY2xvY2ssIAorCSAgICBpbnQgICAgICAgIHgsCisJICAgIGludCAgICAgICAgeSwKKwkgICAgaW50ICAgICAgICBkaWdpdCkKK3sKKyAgaW50IGRpZ2l0c1tdID0geyAweDFmOGM2M2YsIDB4MWYyMTA4NiwgMHgxZjBmZTFmLCAweDFmODdlMWYsIDB4MTA4N2UzMSwKKwkJICAgMHgxZjg3YzNmLCAweDFmOGZjM2YsIDB4ODQ0MjFmLCAgMHgxZjhmZTNmLCAweDEwODdlM2YgfTsKKworICBYUmVjdGFuZ2xlIHJlY3RzWzUqNV07CisgIGludCBpLGosazsKKworICBpID0gMDsKKworICBmb3IgKGs9MDsgazw1OyBrKyspIAorICAgIGZvciAoaj0wOyBqPDU7IGorKykJCisgICAgICBpZiAoZGlnaXRzW2RpZ2l0XSAmICgxIDw8ICgoayo1KStqKSkpCisJeworCSAgcmVjdHNbaV0ueCAgICAgID0gKHggKyBqKSAqIHBvbmdfY2xvY2stPnBpeGVsdzsgCisJICByZWN0c1tpXS55ICAgICAgPSAoeSArIGspICogcG9uZ19jbG9jay0+cGl4ZWxoOyAKKwkgIHJlY3RzW2ldLndpZHRoICA9IHBvbmdfY2xvY2stPnBpeGVsdzsKKwkgIHJlY3RzW2ldLmhlaWdodCA9IHBvbmdfY2xvY2stPnBpeGVsaDsgIAorCSAgaSsrOworCX0KKworICBYRmlsbFJlY3RhbmdsZXMgKHBvbmdfY2xvY2stPnhkcHksCisJCSAgIHBvbmdfY2xvY2stPmJhY2tidWZmZXIsCisJCSAgIHBvbmdfY2xvY2stPnhnYywKKwkJICAgcmVjdHMsIGkpOworfSAKKwordm9pZAorZHJhd190aW1lIChQb25nQ2xvY2sgKnBvbmdfY2xvY2spCit7CisgIGludCBob3VyLCBtaW47CisKKyAgZ2V0X3RpbWUoJmhvdXIsICZtaW4sIE5VTEwpOworCisgIGRyYXdfZGlnaXQgKHBvbmdfY2xvY2ssIAorCSAgICAgIChSRVNYLzIpIC0gMTQsCisJICAgICAgNSwKKwkgICAgICBob3VyIC8gMTAgKTsKKworICBkcmF3X2RpZ2l0IChwb25nX2Nsb2NrLCAKKwkgICAgICAoUkVTWC8yKSAtIDgsCisJICAgICAgNSwKKwkgICAgICBob3VyICUgMTAgKTsKKworICBkcmF3X2RpZ2l0IChwb25nX2Nsb2NrLCAKKwkgICAgICAoUkVTWC8yKSArIDMsCisJICAgICAgNSwKKwkgICAgICBtaW4gLyAxMCApOworCisgIGRyYXdfZGlnaXQgKHBvbmdfY2xvY2ssIAorCSAgICAgIChSRVNYLzIpICsgOSwKKwkgICAgICA1LAorCSAgICAgIG1pbiAlIDEwICk7Cit9CisKK3ZvaWQKK2RyYXdfYmF0X2FuZF9iYWxsIChQb25nQ2xvY2sgKnBvbmdfY2xvY2spCit7CisgIC8qIGJhbGwgKi8KKworICBYRmlsbFJlY3RhbmdsZSAocG9uZ19jbG9jay0+eGRweSwKKwkJICBwb25nX2Nsb2NrLT5iYWNrYnVmZmVyLAorCQkgIHBvbmdfY2xvY2stPnhnYywKKwkJICBwb25nX2Nsb2NrLT5iYWxsX3gsCisJCSAgcG9uZ19jbG9jay0+YmFsbF95LAorCQkgIHBvbmdfY2xvY2stPnBpeGVsdywKKwkJICBwb25nX2Nsb2NrLT5waXhlbGgpOworCisgIC8qIGJhdCBhICovCisKKyAgWEZpbGxSZWN0YW5nbGUgKHBvbmdfY2xvY2stPnhkcHksCisJCSAgcG9uZ19jbG9jay0+YmFja2J1ZmZlciwKKwkJICBwb25nX2Nsb2NrLT54Z2MsCisJCSAgMCwKKwkJICBwb25nX2Nsb2NrLT5iYXRhX3kgLSAoMiAqIHBvbmdfY2xvY2stPnBpeGVsaCksCisJCSAgcG9uZ19jbG9jay0+cGl4ZWx3LAorCQkgIHBvbmdfY2xvY2stPnBpeGVsaCAqIDUpOworCisgIC8qIGJhdCBiICovCisKKyAgWEZpbGxSZWN0YW5nbGUgKHBvbmdfY2xvY2stPnhkcHksCisJCSAgcG9uZ19jbG9jay0+YmFja2J1ZmZlciwKKwkJICBwb25nX2Nsb2NrLT54Z2MsCisJCSAgKHBvbmdfY2xvY2stPnh3aW5fd2lkdGggLSBwb25nX2Nsb2NrLT5waXhlbHcpLAorCQkgIHBvbmdfY2xvY2stPmJhdGJfeSAtICgyICogcG9uZ19jbG9jay0+cGl4ZWxoKSwKKwkJICBwb25nX2Nsb2NrLT5waXhlbHcsCisJCSAgcG9uZ19jbG9jay0+cGl4ZWxoICogNSk7CisKK30KKwordm9pZAordXBkYXRlX3N0YXRlIChQb25nQ2xvY2sgKnBvbmdfY2xvY2spCit7CisgIGludCBzZWMsIG1pbiwgaG91cjsKKworICBnZXRfdGltZSgmaG91ciwgJm1pbiwgJnNlYyk7CisKKyAgLyogQ2hlY2sgYmFsbCBpcyBvbiBmaWVsZCBhbmQgbm8gb25lcyBkdWVzIHRvIG1pc3MgYSBzaG90LgorICAqLworICBpZiAoIChwb25nX2Nsb2NrLT5iYWxsX3ggPCAwICYmICFwb25nX2Nsb2NrLT5iYXRhX3RvX21pc3MpIAorICAgICAgfHwgKHBvbmdfY2xvY2stPmJhbGxfeCA+IChwb25nX2Nsb2NrLT54d2luX3dpZHRoIC0gcG9uZ19jbG9jay0+cGl4ZWx3KQorCSAgJiYgIXBvbmdfY2xvY2stPmJhdGJfdG9fbWlzcykgKQorICAgIHBvbmdfY2xvY2stPmJhbGxfZHggKj0gLTE7CisKKyAgaWYgKChwb25nX2Nsb2NrLT5iYWxsX3kgPCBwb25nX2Nsb2NrLT5waXhlbGgpCisgICAgICB8fCBwb25nX2Nsb2NrLT5iYWxsX3kgPiAocG9uZ19jbG9jay0+eHdpbl9oZWlnaHQgLSAoMipwb25nX2Nsb2NrLT5waXhlbGgpKSkKKyAgICBwb25nX2Nsb2NrLT5iYWxsX2R5ICo9IC0xOyAKKworICBwb25nX2Nsb2NrLT5iYWxsX3ggKz0gcG9uZ19jbG9jay0+YmFsbF9keDsKKyAgcG9uZ19jbG9jay0+YmFsbF95ICs9IHBvbmdfY2xvY2stPmJhbGxfZHk7CisKKyAgLyogU2V0IHVwIHNvbWVvbmUgdG8gbWlzcyBpZiB3ZSBnZXR0aW5nIGNsb3NlIHRvIGFuIGhvdXIgb3IgbWluLiAKKyAgICovCisgIGlmIChzZWMgPiBUT19NSVNTX1NFQ1MpCisgICAgeworICAgICAgaWYgKG1pbiA9PSA1OSkKKwlwb25nX2Nsb2NrLT5iYXRiX3RvX21pc3MgPSBUcnVlOwkKKyAgICAgIGVsc2UKKwlwb25nX2Nsb2NrLT5iYXRhX3RvX21pc3MgPSBUcnVlOworICAgIH0KKyAgZWxzZQorICAgIHsKKyAgICAgIC8qIFJlc2V0IHRoZSBnYW1lICovCisgICAgICBpZiAocG9uZ19jbG9jay0+YmF0YV90b19taXNzKQorCXsKKwkgIHBvbmdfY2xvY2stPmJhdGFfdG9fbWlzcyA9IEZhbHNlOworCSAgcG9uZ19jbG9jay0+YmFsbF95ID0gcG9uZ19jbG9jay0+YmF0YV95OyAKKwkgIHBvbmdfY2xvY2stPmJhbGxfeCA9IHBvbmdfY2xvY2stPnBpeGVsdzsgCisJICBwb25nX2Nsb2NrLT5iYWxsX2R4ICo9IC0xOworCX0KKworICAgICAgaWYgKHBvbmdfY2xvY2stPmJhdGJfdG9fbWlzcykKKwl7CisJICBwb25nX2Nsb2NrLT5iYXRiX3RvX21pc3MgPSBGYWxzZTsKKwkgIHBvbmdfY2xvY2stPmJhbGxfeSA9IHBvbmdfY2xvY2stPmJhdGJfeTsgCisJICBwb25nX2Nsb2NrLT5iYWxsX3ggPSBwb25nX2Nsb2NrLT54d2luX3dpZHRoIC0gcG9uZ19jbG9jay0+cGl4ZWx3OworCSAgcG9uZ19jbG9jay0+YmFsbF9keCAqPSAtMTsgCisJfQorICAgIH0KKworICAvKiBLZWVwIGJhdHMgb24gZmllbGQgYW5kIG9ubHkgbW92ZSBpbiBub3Qgc2V0dXAgdG8gbWlzcyAqLworICBpZiAocG9uZ19jbG9jay0+YmFsbF95ID49ICgzKnBvbmdfY2xvY2stPnBpeGVsaCkKKyAgICAgICYmIHBvbmdfY2xvY2stPmJhbGxfeSA8PSAgKHBvbmdfY2xvY2stPnh3aW5faGVpZ2h0IC0gKDUqcG9uZ19jbG9jay0+cGl4ZWxoKSkpCisgIHsKKyAgICBpZiAoIXBvbmdfY2xvY2stPmJhdGJfdG9fbWlzcykgCisgICAgICBwb25nX2Nsb2NrLT5iYXRiX3kgPSBwb25nX2Nsb2NrLT5iYWxsX3k7CisKKyAgICBpZiAoIXBvbmdfY2xvY2stPmJhdGFfdG9fbWlzcykKKyAgICAgIHBvbmdfY2xvY2stPmJhdGFfeSA9IHBvbmdfY2xvY2stPmJhbGxfeTsKKyAgfQorfQorCit2b2lkCitkcmF3X2ZyYW1lIChQb25nQ2xvY2sgKnBvbmdfY2xvY2spCit7CisgIHVwZGF0ZV9zdGF0ZSAocG9uZ19jbG9jayk7CisKKyAgLyogQ2xlYXIgcGxheWZpZWxkICovCisgIFhTZXRGb3JlZ3JvdW5kIChwb25nX2Nsb2NrLT54ZHB5LAorCQkgIHBvbmdfY2xvY2stPnhnYywKKwkJICBCbGFja1BpeGVsKHBvbmdfY2xvY2stPnhkcHksIAorCQkJICAgICBwb25nX2Nsb2NrLT54c2NyZWVuKSk7CisKKyAgWEZpbGxSZWN0YW5nbGUgKHBvbmdfY2xvY2stPnhkcHksCisJCSAgcG9uZ19jbG9jay0+YmFja2J1ZmZlciwKKwkJICBwb25nX2Nsb2NrLT54Z2MsCisJCSAgMCwgMCwKKwkJICBwb25nX2Nsb2NrLT54d2luX3dpZHRoLCAKKwkJICBwb25nX2Nsb2NrLT54d2luX2hlaWdodCk7CisKKyAgWFNldEZvcmVncm91bmQgKHBvbmdfY2xvY2stPnhkcHksCisJCSAgcG9uZ19jbG9jay0+eGdjLAorCQkgIFdoaXRlUGl4ZWwocG9uZ19jbG9jay0+eGRweSwgCisJCQkgICAgIHBvbmdfY2xvY2stPnhzY3JlZW4pKTsKKworICBkcmF3X2ZpZWxkIChwb25nX2Nsb2NrKTsKKworICBkcmF3X3RpbWUgKHBvbmdfY2xvY2spOworCisgIGRyYXdfYmF0X2FuZF9iYWxsIChwb25nX2Nsb2NrKTsKKworICAvKiBmbGlwICdiYWNrYnVmZmVyJyAqLworICBYU2V0V2luZG93QmFja2dyb3VuZFBpeG1hcCAocG9uZ19jbG9jay0+eGRweSwgCisJCQkgICAgICBwb25nX2Nsb2NrLT54d2luLAorCQkJICAgICAgcG9uZ19jbG9jay0+YmFja2J1ZmZlcik7CisgIFhDbGVhcldpbmRvdyhwb25nX2Nsb2NrLT54ZHB5LCBwb25nX2Nsb2NrLT54d2luKTsKKworICBYU3luYyhwb25nX2Nsb2NrLT54ZHB5LCBGYWxzZSk7Cit9CisKK2ludAorbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworICBYR0NWYWx1ZXMgIGdjdjsKKyAgQXRvbSAgICAgICBhdG9tc19XSU5ET1dfU1RBVEUsIGF0b21zX1dJTkRPV19TVEFURV9GVUxMU0NSRUVOOworICBQb25nQ2xvY2sgKnBvbmdfY2xvY2s7CisKKyAgcG9uZ19jbG9jayA9IG1hbGxvYyhzaXplb2YoUG9uZ0Nsb2NrKSk7CisgIG1lbXNldChwb25nX2Nsb2NrLCAwLCBzaXplb2YoUG9uZ0Nsb2NrKSk7CisKKyAgaWYgKChwb25nX2Nsb2NrLT54ZHB5ID0gWE9wZW5EaXNwbGF5KGdldGVudigiRElTUExBWSIpKSkgPT0gTlVMTCkgeworICAgIGZwcmludGYoc3RkZXJyLCAiQ2Fubm90IGNvbm5lY3QgdG8gWCBzZXJ2ZXIgb24gZGlzcGxheSAlcy4iLAorCSAgICBnZXRlbnYoIkRJU1BMQVkiKSk7CisgICAgZXhpdCgtMSk7CisgIH0KKworICBwb25nX2Nsb2NrLT54c2NyZWVuICAgICA9IERlZmF1bHRTY3JlZW4ocG9uZ19jbG9jay0+eGRweSk7CisgIHBvbmdfY2xvY2stPnh3aW5fcm9vdCAgID0gRGVmYXVsdFJvb3RXaW5kb3cocG9uZ19jbG9jay0+eGRweSk7CisgIHBvbmdfY2xvY2stPnh3aW5fd2lkdGggID0gRGlzcGxheVdpZHRoKHBvbmdfY2xvY2stPnhkcHksIAorCQkJCQkgcG9uZ19jbG9jay0+eHNjcmVlbik7CisgIHBvbmdfY2xvY2stPnh3aW5faGVpZ2h0ID0gRGlzcGxheUhlaWdodChwb25nX2Nsb2NrLT54ZHB5LCAKKwkJCQkJICBwb25nX2Nsb2NrLT54c2NyZWVuKTsKKworICBwb25nX2Nsb2NrLT5waXhlbHcgID0gcG9uZ19jbG9jay0+eHdpbl93aWR0aCAgLyBSRVNYOworICBwb25nX2Nsb2NrLT5waXhlbGggID0gcG9uZ19jbG9jay0+eHdpbl9oZWlnaHQgLyBSRVNZOworCisgIHBvbmdfY2xvY2stPmJhbGxfeCA9IDA7IAorICBwb25nX2Nsb2NrLT5iYWxsX3kgPSBwb25nX2Nsb2NrLT54d2luX2hlaWdodCAvIDI7IAorCisgIHBvbmdfY2xvY2stPmJhbGxfZHggPSBCQUxMRFg7IAorICBwb25nX2Nsb2NrLT5iYWxsX2R5ID0gQkFMTERZOyAKKworICBwb25nX2Nsb2NrLT5iYXRiX3kgPSBwb25nX2Nsb2NrLT5iYXRhX3kgPSBwb25nX2Nsb2NrLT5iYWxsX3k7CisKKyAgZ2N2LmJhY2tncm91bmQgPSBCbGFja1BpeGVsKHBvbmdfY2xvY2stPnhkcHksIAorCQkJICAgICAgcG9uZ19jbG9jay0+eHNjcmVlbik7CisgIGdjdi5mb3JlZ3JvdW5kID0gV2hpdGVQaXhlbChwb25nX2Nsb2NrLT54ZHB5LCAKKwkJCSAgICAgIHBvbmdfY2xvY2stPnhzY3JlZW4pOworICBnY3YuZ3JhcGhpY3NfZXhwb3N1cmVzID0gRmFsc2U7CisKKyAgcG9uZ19jbG9jay0+eGdjID0gWENyZWF0ZUdDIChwb25nX2Nsb2NrLT54ZHB5LCBwb25nX2Nsb2NrLT54d2luX3Jvb3QsIAorCQkJICAgICAgIEdDRm9yZWdyb3VuZHxHQ0JhY2tncm91bmR8R0NHcmFwaGljc0V4cG9zdXJlcywKKwkJCSAgICAgICAmZ2N2KTsKKworICBhdG9tc19XSU5ET1dfU1RBVEUKKyAgICA9IFhJbnRlcm5BdG9tKHBvbmdfY2xvY2stPnhkcHksICJfTkVUX1dNX1NUQVRFIixGYWxzZSk7CisgIGF0b21zX1dJTkRPV19TVEFURV9GVUxMU0NSRUVOCisgICAgPSBYSW50ZXJuQXRvbShwb25nX2Nsb2NrLT54ZHB5LCAiX05FVF9XTV9TVEFURV9GVUxMU0NSRUVOIixGYWxzZSk7CisKKyAgcG9uZ19jbG9jay0+eHdpbiA9IFhDcmVhdGVTaW1wbGVXaW5kb3cocG9uZ19jbG9jay0+eGRweSwgCisJCQkJCSBwb25nX2Nsb2NrLT54d2luX3Jvb3QsIAorCQkJCQkgMCwgMCwKKwkJCQkJIHBvbmdfY2xvY2stPnh3aW5fd2lkdGgsIAorCQkJCQkgcG9uZ19jbG9jay0+eHdpbl9oZWlnaHQsIAorCQkJCQkgMCwKKwkJCQkJIFdoaXRlUGl4ZWwocG9uZ19jbG9jay0+eGRweSwgCisJCQkJCQkgICAgcG9uZ19jbG9jay0+eHNjcmVlbiksCisJCQkJCSBCbGFja1BpeGVsKHBvbmdfY2xvY2stPnhkcHksIAorCQkJCQkJICAgIHBvbmdfY2xvY2stPnhzY3JlZW4pKTsKKworICBwb25nX2Nsb2NrLT5iYWNrYnVmZmVyID0gWENyZWF0ZVBpeG1hcChwb25nX2Nsb2NrLT54ZHB5LCAKKwkJCQkJIHBvbmdfY2xvY2stPnh3aW5fcm9vdCwKKwkJCQkJIHBvbmdfY2xvY2stPnh3aW5fd2lkdGgsIAorCQkJCQkgcG9uZ19jbG9jay0+eHdpbl9oZWlnaHQsIAorCQkJCQkgRGVmYXVsdERlcHRoKHBvbmdfY2xvY2stPnhkcHksIAorCQkJCQkJICAgICAgcG9uZ19jbG9jay0+eHNjcmVlbikpOworCisgIFhTZWxlY3RJbnB1dChwb25nX2Nsb2NrLT54ZHB5LCBwb25nX2Nsb2NrLT54d2luLCBLZXlQcmVzc01hc2spOworICAKKworICAvKiBTZXQgdGhlIGhpbnRzIGZvciBmdWxsc2NyZWVuICovCisgIFhDaGFuZ2VQcm9wZXJ0eShwb25nX2Nsb2NrLT54ZHB5LCAKKwkJICBwb25nX2Nsb2NrLT54d2luLCAKKwkJICBhdG9tc19XSU5ET1dfU1RBVEUsIAorCQkgIFhBX0FUT00sIAorCQkgIDMyLCAKKwkJICBQcm9wTW9kZVJlcGxhY2UsIAorCQkgICh1bnNpZ25lZCBjaGFyICopICZhdG9tc19XSU5ET1dfU1RBVEVfRlVMTFNDUkVFTiwgMSk7CisKKyAgWE1hcFdpbmRvdyhwb25nX2Nsb2NrLT54ZHB5LCBwb25nX2Nsb2NrLT54d2luKTsKKyAgCisgIHdoaWxlIChUcnVlKSAKKyAgICB7CisgICAgICBzdHJ1Y3QgdGltZXZhbCB0aW1lb3V0OworICAgICAgWEV2ZW50ICAgICAgICAgeGV2OworCisgICAgICB0aW1lb3V0LnR2X3NlYyAgPSAwOworICAgICAgdGltZW91dC50dl91c2VjID0gMTAwMDAwMCAvIEZQUzsgCisgICAgICBzZWxlY3QgKDAsIE5VTEwsIE5VTEwsIE5VTEwsICZ0aW1lb3V0KTsKKworICAgICAgZHJhd19mcmFtZSAocG9uZ19jbG9jayk7CisKKyAgICAgIFhGbHVzaChwb25nX2Nsb2NrLT54ZHB5KTsKKworICAgICAgaWYgKFhQZW5kaW5nKHBvbmdfY2xvY2stPnhkcHkpKQorCXsKKwkgIGlmIChYQ2hlY2tNYXNrRXZlbnQocG9uZ19jbG9jay0+eGRweSwgCisJCQkgICAgICBLZXlQcmVzc01hc2ssCisJCQkgICAgICAmeGV2KSkKKwkgICAgZXhpdCgtMSk7CisJfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9wb25nLWNsb2NrL3BvbmctY2xvY2tfMS4wLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3BvbmctY2xvY2svcG9uZy1jbG9ja18xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGUxYTc5MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9wb25nLWNsb2NrL3BvbmctY2xvY2tfMS4wLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiQSBjbG9jayBjb21iaW5lZCB3aXRoIGEgZ2FtZSBvZiBwb25nIgorTElDRU5TRSA9ICJHUEx2MisiCitERVBFTkRTID0gInZpcnR1YWwvbGlieDExIHhkbWNwIHhhdSIKKworaW5oZXJpdCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDX1VSSSA9ICJmaWxlOi8vcG9uZy1jbG9jay1uby1mbGlja2VyLmMiCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3BvbmctY2xvY2stbm8tZmxpY2tlci5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MjM7bWQ1PWRkMjQ4ZDUwZjczZjc0NmQxZWU3ODU4NmIwYjJlYmQzIgorCitTID0gIiR7V09SS0RJUn0iCisKK2RvX2NvbXBpbGUgKCkgeworCSR7Q0N9IC1vIHBvbmctY2xvY2sgcG9uZy1jbG9jay1uby1mbGlja2VyLmMgYHBrZy1jb25maWcgLS1jZmxhZ3MgLS1saWJzIHgxMSB4YXUgeGRtY3BgCit9CisKK2RvX2luc3RhbGwgKCkgeworCWluc3RhbGwgLWQgJHtEfSR7YmluZGlyfQorCWluc3RhbGwgLW0gMDc1NSBwb25nLWNsb2NrICR7RH0ke2JpbmRpcn0KK30KZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9zdGFydHVwLW5vdGlmaWNhdGlvbi9zdGFydHVwLW5vdGlmaWNhdGlvbi0wLjEyL29ic29sZXRlX2F1dG9tYWtlX21hY3Jvcy5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9zdGFydHVwLW5vdGlmaWNhdGlvbi9zdGFydHVwLW5vdGlmaWNhdGlvbi0wLjEyL29ic29sZXRlX2F1dG9tYWtlX21hY3Jvcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZTg2ZjJiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3N0YXJ0dXAtbm90aWZpY2F0aW9uL3N0YXJ0dXAtbm90aWZpY2F0aW9uLTAuMTIvb2Jzb2xldGVfYXV0b21ha2VfbWFjcm9zLnBhdGNoCkBAIC0wLDAgKzEsMTUgQEAKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFtodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD01OTA5N10KKworU2lnbmVkLW9mZi1ieTogTWFya28gTGluZHF2aXN0IDxjYXpmaTc0QGdtYWlsLmNvbT4KK2RpZmYgLU51cmQgc3RhcnR1cC1ub3RpZmljYXRpb24tMC4xMi9jb25maWd1cmUuaW4gc3RhcnR1cC1ub3RpZmljYXRpb24tMC4xMi9jb25maWd1cmUuaW4KKy0tLSBzdGFydHVwLW5vdGlmaWNhdGlvbi0wLjEyL2NvbmZpZ3VyZS5pbgkyMDExLTA1LTE2IDE3OjI5OjIwLjAwMDAwMDAwMCArMDMwMAorKysrIHN0YXJ0dXAtbm90aWZpY2F0aW9uLTAuMTIvY29uZmlndXJlLmluCTIwMTMtMDEtMDcgMDY6MDA6NDguOTIxOTA1NDA5ICswMjAwCitAQCAtMyw3ICszLDcgQEAKKyBBQ19DT05GSUdfU1JDRElSKGxpYnNuL3NuLWxhdW5jaGVlLmMpCisKKyBBTV9JTklUX0FVVE9NQUtFCistQU1fQ09ORklHX0hFQURFUihjb25maWcuaCkKKytBQ19DT05GSUdfSEVBREVSUyhjb25maWcuaCkKKworICMgSG9ub3IgYWNsb2NhbCBmbGFncworIEFDX1NVQlNUKEFDTE9DQUxfQU1GTEFHUywgIlwke0FDTE9DQUxfRkxBR1N9IikKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9zdGFydHVwLW5vdGlmaWNhdGlvbi9zdGFydHVwLW5vdGlmaWNhdGlvbl8wLjEyLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3N0YXJ0dXAtbm90aWZpY2F0aW9uL3N0YXJ0dXAtbm90aWZpY2F0aW9uXzAuMTIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmMxYjkzYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy9zdGFydHVwLW5vdGlmaWNhdGlvbi9zdGFydHVwLW5vdGlmaWNhdGlvbl8wLjEyLmJiCkBAIC0wLDAgKzEsMjkgQEAKK1NVTU1BUlkgPSAiRW5hYmxlcyBtb25pdG9yaW5nIGFuZCBkaXNwbGF5IG9mIGFwcGxpY2F0aW9uIHN0YXJ0dXAiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL3N0YXJ0dXAtbm90aWZpY2F0aW9uLyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9U3BlY2lmaWNhdGlvbnMiCisKKyMgbW9zdCBmaWxlcyBhcmUgdW5kZXIgTUlULCBidXQgbGlic24vc24tdXRpbC5jIGlzIHVuZGVyIExHUEwsIHRoZQorIyBlZmZlY3RpdmUgbGljZW5zZSBpcyBMR1BMCitMSUNFTlNFID0gIkxHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hMmFlMmNkNDdkNmQyZjIzODQxMGY1MzY0ZGZiYzBmMiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWJzbi9zbi11dGlsLmM7ZW5kbGluZT0xODttZDU9MThhMTRkYzE4MjVkMzhlNzQxZDc3MjMxMWZlYTllZTEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbGlic24vc24tY29tbW9uLmg7ZW5kbGluZT0yMzttZDU9NmQwNWJjMGViZGNmNTUxM2E2ZTc3Y2IyNmU4Y2Q3ZTIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vdGVzdC90ZXN0LWJvaWxlcnBsYXRlLmg7ZW5kbGluZT0yMzttZDU9OTIzZTcwNmIyYTcwNTg2MTc2ZWVhZDI2MWNjNWJiOTgiCisKK1BSID0gInIyIgorCitTRUNUSU9OID0gImxpYnMiCisKKworREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYngxMSBsaWJzbSB4Y2ItdXRpbCIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjaworIyBkZXBlbmRzIG9uIHZpcnR1YWwvbGlieDExCitSRVFVSVJFRF9ESVNUUk9fRkVBVFVSRVMgPSAieDExIgorCitTUkNfVVJJID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3NvZnR3YXJlL3N0YXJ0dXAtbm90aWZpY2F0aW9uL3JlbGVhc2VzLyR7QlBOfS0ke1BWfS50YXIuZ3ogXAorICAgICAgICAgICBmaWxlOi8vb2Jzb2xldGVfYXV0b21ha2VfbWFjcm9zLnBhdGNoIFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjJjZDc3MzI2ZDRkY2FlZDlhNWEyM2ExMjMyZmIzOGU5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjNjMzkxZjdlOTMwYzU4MzA5NTA0NWNkMmQxMGViNzNhNjRmMDg1YzdmZGU5ZDI2MGYyNjUyYzdjYjNjZmJlNGEiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdHNsaWIvdHNsaWIvdHMuY29uZiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy90c2xpYi90c2xpYi90cy5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiMGRhOTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdHNsaWIvdHNsaWIvdHMuY29uZgpAQCAtMCwwICsxLDI1IEBACisjIFVuY29tbWVudCBpZiB5b3Ugd2lzaCB0byB1c2UgdGhlIGxpbnV4IGlucHV0IGxheWVyIGV2ZW50IGludGVyZmFjZQorbW9kdWxlX3JhdyBpbnB1dAorCisjIFVuY29tbWVudCBpZiB5b3UncmUgdXNpbmcgYSBTaGFycCBaYXVydXMgU0wtNTUwMC9TTC01MDAwZAorIyBtb2R1bGVfcmF3IGNvbGxpZQorCisjIFVuY29tbWVudCBpZiB5b3UncmUgdXNpbmcgYSBTaGFycCBaYXVydXMgU0wtQzcwMC9DNzUwL0M3NjAvQzg2MAorIyBtb2R1bGVfcmF3IGNvcmdpCisKKyMgVW5jb21tZW50IGlmIHlvdSdyZSB1c2luZyBhIGRldmljZSB3aXRoIGEgVUNCMTIwMC8xMzAwLzE0MDAgVFMgaW50ZXJmYWNlCisjIG1vZHVsZV9yYXcgdWNiMXgwMAorCisjIFVuY29tbWVudCBpZiB5b3UncmUgdXNpbmcgYW4gSFAgaVBhcSBoMzYwMCBvciBzaW1pbGFyCisjIG1vZHVsZV9yYXcgaDM2MDAKKworIyBVbmNvbW1lbnQgaWYgeW91J3JlIHVzaW5nIGEgSGl0YWNoaSBXZWJwYWQKKyMgbW9kdWxlX3JhdyBtazcxMgorCisjIFVuY29tbWVudCBpZiB5b3UncmUgdXNpbmcgYW4gSUJNIEFyY3RpYyBJSQorIyBtb2R1bGVfcmF3IGFyY3RpYzIKKworbW9kdWxlIHB0aHJlcyBwbWluPTEKK21vZHVsZSB2YXJpYW5jZSBkZWx0YT0zMAorbW9kdWxlIGRlaml0dGVyIGRlbHRhPTEwMAorbW9kdWxlIGxpbmVhcgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3RzbGliL3RzbGliL3RzbGliLnNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3RzbGliL3RzbGliL3RzbGliLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwNjhlOGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdHNsaWIvdHNsaWIvdHNsaWIuc2gKQEAgLTAsMCArMSw4IEBACisjIS9iaW4vc2gKKworaWYgWyAtZSAvZGV2L2lucHV0L3RvdWNoc2NyZWVuMCBdOyB0aGVuCisgICAgVFNMSUJfVFNERVZJQ0U9L2Rldi9pbnB1dC90b3VjaHNjcmVlbjAKKworICAgIGV4cG9ydCBUU0xJQl9UU0RFVklDRQorZmkKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3RzbGliL3RzbGliXzEuMS5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy90c2xpYi90c2xpYl8xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmQ4YzdkZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy90c2xpYi90c2xpYl8xLjEuYmIKQEAgLTAsMCArMSw1MyBAQAorU1VNTUFSWSA9ICJBbiBhYnN0cmFjdGlvbiBsYXllciBmb3IgdG91Y2hzY3JlZW4gcGFuZWwgZXZlbnRzIgorREVTQ1JJUFRJT04gPSAiVHNsaWIgaXMgYW4gYWJzdHJhY3Rpb24gbGF5ZXIgZm9yIHRvdWNoc2NyZWVuIHBhbmVsIFwKK2V2ZW50cywgYXMgd2VsbCBhcyBhIGZpbHRlciBzdGFjayBmb3IgdGhlIG1hbmlwdWxhdGlvbiBvZiB0aG9zZSBldmVudHMuIFwKK1RzbGliIGlzIGdlbmVyYWxseSB1c2VkIG9uIGVtYmVkZGVkIGRldmljZXMgdG8gcHJvdmlkZSBhIGNvbW1vbiB1c2VyIFwKK3NwYWNlIGludGVyZmFjZSB0byB0b3VjaHNjcmVlbiBmdW5jdGlvbmFsaXR5LiIKK0hPTUVQQUdFID0gImh0dHA6Ly90c2xpYi5iZXJsaW9zLmRlLyIKKworQVVUSE9SID0gIlJ1c3NlbGwgS2luZyB3LyBwbHVnaW5zIGJ5IENocmlzIExhcnNvbiBldC4gYWwuIgorU0VDVElPTiA9ICJiYXNlIgorTElDRU5TRSA9ICJMR1BMdjIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mMzBhOTcxNmVmMzc2MmUzNDY3YTJmNjJiZjc5MGYwYSIKKworU1JDX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20va2VyZ290aC90c2xpYi9yZWxlYXNlcy9kb3dubG9hZC8ke1BWfS90c2xpYi0ke1BWfS50YXIueHo7ZG93bmxvYWRmaWxlbmFtZT10c2xpYi0ke1BWfS50YXIueHogXAorICAgICAgICAgICBmaWxlOi8vdHMuY29uZiBcCisgICAgICAgICAgIGZpbGU6Ly90c2xpYi5zaCBcCisiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxNDc3MWY4NjA3YjM0MWJiNGIyOTc4MTlkMzdlODM3ZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmZTM1ZTVmNzEwZWE5MzNiMTE4ZjcxMGUyY2U0NDAzYWMwNzZmZTY5OTI2YjU3MDMzMzg2N2Q0ZGUwODJhNTFjIgorCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiLS1lbmFibGUtc2hhcmVkIC0tZGlzYWJsZS1oMzYwMCAtLWVuYWJsZS1pbnB1dCAtLWRpc2FibGUtY29yZ2kgLS1kaXNhYmxlLWNvbGxpZSAtLWRpc2FibGUtbWs3MTIgLS1kaXNhYmxlLWFyY3RpYzIgLS1kaXNhYmxlLXVjYjF4MDAiCisKK2RvX2luc3RhbGxfcHJlcGVuZCgpIHsKKwlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS90cy5jb25mICR7U30vZXRjL3RzLmNvbmYKK30KKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9wcm9maWxlLmQvCisJaW5zdGFsbCAtbSAwNzU1ICR7V09SS0RJUn0vdHNsaWIuc2ggJHtEfSR7c3lzY29uZmRpcn0vcHJvZmlsZS5kLworfQorCisjIFBlb3BsZSBzaG91bGQgY29uc2lkZXIgdXNpbmcgdWRldidzIC9kZXYvaW5wdXQvdG91Y2hzY3JlZW4wIHN5bWxpbmsKKyMgaW5zdGVhZCBvZiBkZXRlY3Qtc3R5bHVzCisjUkRFUEVORFNfdHNsaWItY29uZl93ZWlyZC1tYWNoaW5lID0gImRldGVjdC1zdHlsdXMiCitSUFJPVklERVNfdHNsaWItY29uZiA9ICJsaWJ0cy0wLjAtY29uZiIKKworUEFDS0FHRVMgPSsgInRzbGliLWNvbmYgdHNsaWItdGVzdHMgdHNsaWItY2FsaWJyYXRlIgorREVCSUFOX05PQVVUT05BTUVfdHNsaWItY29uZiA9ICIxIgorREVCSUFOX05PQVVUT05BTUVfdHNsaWItdGVzdHMgPSAiMSIKK0RFQklBTl9OT0FVVE9OQU1FX3RzbGliLWNhbGlicmF0ZSA9ICIxIgorCitSREVQRU5EU18ke1BOfSA9ICJ0c2xpYi1jb25mIgorUlJFQ09NTUVORFNfJHtQTn0gPSAicG9pbnRlcmNhbCIKKworRklMRVNfJHtQTn0tZGJnICs9ICIke2xpYmRpcn0vdHMvLmRlYnVnKiIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3RzLyoubGEiCitGSUxFU190c2xpYi1jb25mID0gIiR7c3lzY29uZmRpcn0vdHMuY29uZiAke3N5c2NvbmZkaXJ9L3Byb2ZpbGUuZC90c2xpYi5zaCAke2RhdGFkaXJ9L3RzbGliIgorRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9Lyouc28uKiAke2xpYmRpcn0vdHMvKi5zbyoiCitGSUxFU190c2xpYi1jYWxpYnJhdGUgKz0gIiR7YmluZGlyfS90c19jYWxpYnJhdGUiCitGSUxFU190c2xpYi10ZXN0cyA9ICIke2JpbmRpcn0vdHNfaGFydmVzdCAke2JpbmRpcn0vdHNfcHJpbnQgJHtiaW5kaXJ9L3RzX3ByaW50X3JhdyAke2JpbmRpcn0vdHNfdGVzdCIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvbGliZXJhdGlvbi1mb250cy8zMC1saWJlcmF0aW9uLWFsaWFzZXMuY29uZiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvbGliZXJhdGlvbi1mb250cy8zMC1saWJlcmF0aW9uLWFsaWFzZXMuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjA5NDUwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3R0Zi1mb250cy9saWJlcmF0aW9uLWZvbnRzLzMwLWxpYmVyYXRpb24tYWxpYXNlcy5jb25mCkBAIC0wLDAgKzEsMTcgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGZvbnRjb25maWcgU1lTVEVNICJmb250cy5kdGQiPgorPCEtLSBjb25mLmQvc3ViLXBpeGVsLmNvbmYgLS0+Cis8Zm9udGNvbmZpZz4KKwk8YWxpYXM+CisJCTxmYW1pbHk+c2Fucy1zZXJpZjwvZmFtaWx5PgorCQk8YWNjZXB0PjxmYW1pbHk+TGliZXJhdGlvbiBTYW5zPC9mYW1pbHk+PC9hY2NlcHQ+CisJPC9hbGlhcz4KKwk8YWxpYXM+CisJCTxmYW1pbHk+c2VyaWY8L2ZhbWlseT4KKwkJPGFjY2VwdD48ZmFtaWx5PkxpYmVyYXRpb24gU2VyaWY8L2ZhbWlseT48L2FjY2VwdD4KKwk8L2FsaWFzPgorCTxhbGlhcz4KKwkJPGZhbWlseT5tb25vc3BhY2U8L2ZhbWlseT4KKwkJPGFjY2VwdD48ZmFtaWx5PkxpYmVyYXRpb24gTW9ubzwvZmFtaWx5PjwvYWNjZXB0PgorCTwvYWxpYXM+Cis8L2ZvbnRjb25maWc+CmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL2xpYmVyYXRpb24tZm9udHNfMS4wNC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvbGliZXJhdGlvbi1mb250c18xLjA0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkYTgyZTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL2xpYmVyYXRpb24tZm9udHNfMS4wNC5iYgpAQCAtMCwwICsxLDQwIEBACitTVU1NQVJZID0gIkxpYmVyYXRpb24odG0pIEZvbnRzIgorREVTQ1JJUFRJT04gPSAiVGhlIExpYmVyYXRpb24odG0pIEZvbnRzIGlzIGEgZm9udCBmYW1pbHkgb3JpZ2luYWxseSBcCitjcmVhdGVkIGJ5IEFzY2VuZGVyKGMpIHdoaWNoIGFpbXMgYXQgbWV0cmljIGNvbXBhdGliaWxpdHkgd2l0aCBcCitBcmlhbCwgVGltZXMgTmV3IFJvbWFuLCBDb3VyaWVyIE5ldy4iCitIT01FUEFHRSA9ICJodHRwczovL2ZlZG9yYWhvc3RlZC5vcmcvbGliZXJhdGlvbi1mb250cy8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS8iCisKK1JFQ0lQRV9OT19VUERBVEVfUkVBU09OID0gIjIueCBkZXBlbmRzIG9uIGZvbnRmb3JnZSBwYWNrYWdlLCB3aGljaCBpcyBub3QgeWV0IHByb3ZpZGVkIGluIG9lLWNvcmUiCisKK1NFQ1RJT04gPSAieDExL2ZvbnRzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgorUFIgPSAicjQiCitQRSA9ICIxIgorCitpbmhlcml0IGFsbGFyY2ggZm9udGNhY2hlCisKK0ZPTlRfUEFDS0FHRVMgPSAiJHtQTn0iCisKK1NSQ19VUkkgPSAiaHR0cHM6Ly9mZWRvcmFob3N0ZWQub3JnL3JlbGVhc2VzL2wvaS9saWJlcmF0aW9uLWZvbnRzL2xpYmVyYXRpb24tZm9udHMtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzMwLWxpYmVyYXRpb24tYWxpYXNlcy5jb25mIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDg0Njc5N2VmMGZjNzBiMGNiYWVkZTI1MTQ2NzdjNTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGUwZDA5NTdjODViNzU4NTYxYTNkNGFlZjRlYmNkMmMzOTk1OWU1MzI4NDI5ZDk2YWUxMDYyNDlkODM1MzFhMSIKKworZG9faW5zdGFsbCAoKSB7CisJaW5zdGFsbCAtZCAke0R9JHtkYXRhZGlyfS9mb250cy90dGYvCisJZm9yIGkgaW4gKi50dGY7IGRvCisJCWluc3RhbGwgLW0gMDY0NCAkaSAke0R9JHtwcmVmaXh9L3NoYXJlL2ZvbnRzL3R0Zi8ke2l9CisJZG9uZQorCisJaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9mb250cy9jb25mLmQvCisJaW5zdGFsbCAtbSAwNjQ0ICR7V09SS0RJUn0vMzAtbGliZXJhdGlvbi1hbGlhc2VzLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vZm9udHMvY29uZi5kLworCisJaW5zdGFsbCAtZCAke0R9JHtwcmVmaXh9L3NoYXJlL2RvYy8ke0JQTn0vCisJaW5zdGFsbCAtbSAwNjQ0IExpY2Vuc2UudHh0ICR7RH0ke2RhdGFkaXJ9L2RvYy8ke0JQTn0vCit9CisKK1BBQ0tBR0VTID0gIiR7UE59IgorRklMRVNfJHtQTn0gKz0gIiR7c3lzY29uZmRpcn0gJHtkYXRhZGlyfSIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy90dGYtZm9udHMvdHRmLWJpdHN0cmVhbS12ZXJhXzEuMTAuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1iaXRzdHJlYW0tdmVyYV8xLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyZTRjZWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvdHRmLWZvbnRzL3R0Zi1iaXRzdHJlYW0tdmVyYV8xLjEwLmJiCkBAIC0wLDAgKzEsMzggQEAKK1NVTU1BUlkgPSAiVGhlIEJpdHN0cmVhbSBWZXJhIGZvbnRzIC0gVFRGIEVkaXRpb24iCitERVNDUklQVElPTiA9ICJUaGUgQml0c3RyZWFtIFZlcmEgZm9udHMgaW5jbHVkZSBmb3VyIG1vbm9zcGFjZSBhbmQgc2FucyBcCitmYWNlcyAobm9ybWFsLCBvYmxpcXVlLCBib2xkLCBib2xkIG9ibGlxdWUpIGFuZCB0d28gc2VyaWYgZmFjZXMgKG5vcm1hbCBcCithbmQgYm9sZCkuICBJbiBhZGRpdGlvbiBGb250Y29uZmlnL1hmdDIgY2FuIGFydGlmaWNpYWxseSBvYmxpcXVlIHRoZSBcCitzZXJpZiBmYWNlcyBmb3IgeW91OiB0aGlzIGxvc2VzIGhpbnRpbmcgYW5kIGRpc3RvcnRzIHRoZSBmYWNlcyBzbGlnaHRseSwgXAorYnV0IGlzIHZpc2libHkgZGlmZmVyZW50IHRoYW4gbm9ybWFsIGFuZCBib2xkLCBhbmQgcmVhc29uYWJseSBwbGVhc2luZy4iCitTRUNUSU9OID0gIngxMS9mb250cyIKK0xJQ0VOU0UgPSAiQml0c3RyZWFtVmVyYSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlSSUdIVC5UWFQ7bWQ1PTI3ZDc0ODRiMWUxOGQwZWU0Y2U1Mzg2NDRhM2YwNGJlIgorUFIgPSAicjciCisKK2luaGVyaXQgZm9udGNhY2hlCisKK0ZPTlRfUEFDS0FHRVMgPSAiJHtQTn0iCisKK1NSQ19VUkkgPSAiJHtHTk9NRV9NSVJST1J9L3R0Zi1iaXRzdHJlYW0tdmVyYS8xLjEwL3R0Zi1iaXRzdHJlYW0tdmVyYS0ke1BWfS50YXIuYnoyIiAKKworZG9faW5zdGFsbCAoKSB7IAorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3ByZWZpeH0vc2hhcmUvZm9udHMvdHRmLyAKKyAgICAgICAgZm9yIGkgaW4gKi50dGY7IGRvIAorICAgICAgICAgICAgICAgIGluc3RhbGwgLW0gNjQ0ICRpICR7RH0ke3ByZWZpeH0vc2hhcmUvZm9udHMvdHRmLyR7aX0gCisgICAgICAgIGRvbmUgCisKKwkjIGZvbnRjb25maWcgc2hpcHMgdGhpcyB0b28uICBub3Qgc3VyZSB3aGF0IHRvIGRvIGFib3V0IGl0LgorICAgICAgICAjaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9mb250cyAKKyAgICAgICAgI2luc3RhbGwgLW0gNjQ0IGxvY2FsLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vZm9udHMvbG9jYWwuY29uZiAKKworCisgICAgICAgIGluc3RhbGwgLWQgJHtEfSR7cHJlZml4fS9zaGFyZS9kb2MvJHtCUE59LworICAgICAgICBmb3IgaSBpbiAqLlRYVDsgZG8gCisgICAgICAgICAgICAgICAgaW5zdGFsbCAtbSA2NDQgJGkgJHtEfSR7cHJlZml4fS9zaGFyZS9kb2MvJHtCUE59LyRpCisgICAgICAgIGRvbmUgCit9IAorCitGSUxFU18ke1BOfSA9ICIvZXRjICR7ZGF0YWRpcn0vZm9udHMiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiYjIyYmQ1YjQ2NzVmNWRiZTE3YzY5NjNkOGMwMGVkNiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkYjViMjdkZjdiYmIzMTgwMzZlYmRiNzVhY2QzZTk4ZjFiZDZlYjY2MDhmYjcwYTY3ZDQ3OGNkMjQzZDE3OGRjIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dhZmZsZS93YWZmbGVfMS41LjEuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2FmZmxlL3dhZmZsZV8xLjUuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOGFhMDVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dhZmZsZS93YWZmbGVfMS41LjEuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJjcm9zcy1wbGF0Zm9ybSBDIGxpYnJhcnkgdG8gZGVmZXIgc2VsZWN0aW9uIG9mIEdMIEFQSSBhbmQgb2Ygd2luZG93IHN5c3RlbSIKK0xJQ0VOU0UgPSAiQlNELTItQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTRjNTE1NDQwN2MyNDkwNzUwZGQ0NjFjNTBhZDk0Nzk3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2luY2x1ZGUvd2FmZmxlL3dhZmZsZS5oO2VuZGxpbmU9MjQ7bWQ1PTYxZGJmODY5N2Y2MWM3ODY0NWU3NWE5M2M1ODViMWJmIgorCitTUkNfVVJJID0gImh0dHA6Ly93YWZmbGUtZ2wub3JnL2ZpbGVzL3JlbGVhc2UvJHtCUE59LSR7UFZ9LyR7QlBOfS0ke1BWfS50YXIueHoiCitTUkNfVVJJW21kNXN1bV0gPSAiYzBkODAyYmMzZDBhYmE4N2M1MWU0MjNhM2E4YmRkNjkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2JhYjBlOTI2NTE1MDY0ZTgxOGJmMDg5YTVhZjA0YmUzMzMwN2U1ZjQwZDA3NjU5ZmI0MGQ1OWIyYmZlMjBhYSIKKworaW5oZXJpdCBjbWFrZSBkaXN0cm9fZmVhdHVyZXNfY2hlY2sgbGliX3BhY2thZ2UKKworIyBUaGlzIHNob3VsZCBiZSBvdmVycmlkZGVuIHBlci1tYWNoaW5lIHRvIHJlZmxlY3QgdGhlIGNhcGFiaWxpdGllcyBvZiB0aGUgR0wKKyMgc3RhY2suCitQQUNLQUdFQ09ORklHID8/PSAiZ2x4IgorCisjIGxpYngxMSByZXF1aXJlcyB4MTEgaW4gRElTVFJPX0ZFQVRVUkVTLgorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ2dseCcsICd4MTEnLCAnJywgZCl9IgorCisjIEkgc2F5IHZpcnR1YWwvbGliZ2wsIGFjdHVhbGx5IHdhbnRzIGdsLnBjCitQQUNLQUdFQ09ORklHW2dseF0gPSAiLUR3YWZmbGVfaGFzX2dseD0xLC1Ed2FmZmxlX2hhc19nbHg9MCx2aXJ0dWFsL2xpYmdsIGxpYngxMSIKKworIyBJIHNheSB2aXJ0dWFsL2xpYmdsLCBhY3R1YWxseSB3YW50cyB3YXlsYW5kLWVnbC5wYywgZWdsLnBjLCBhbmQgdGhlIHdheWxhbmQKKyMgRElTVFJPX0ZFQVRVUkUuCitQQUNLQUdFQ09ORklHW3dheWxhbmRdID0gIi1Ed2FmZmxlX2hhc193YXlsYW5kPTEsLUR3YWZmbGVfaGFzX3dheWxhbmQ9MCx2aXJ0dWFsL2xpYmdsIHdheWxhbmQiCisKKyMgSSBzYXkgdmlydHVhbC9saWJnbCwgYWN0dWFsbHkgd2FudHMgZ2JtLnBjIGVnbC5wYworUEFDS0FHRUNPTkZJR1tnYm1dID0gIi1Ed2FmZmxlX2hhc19nYm09MSwtRHdhZmZsZV9oYXNfZ2JtPTAsdmlydHVhbC9saWJnbCB1ZGV2IgorCisjIEkgc2F5IHZpcnR1YWwvbGliZ2wsIGFjdHVhbGx5IHdhbnRzIGVnbC5wYworUEFDS0FHRUNPTkZJR1t4MTEtZWdsXSA9ICItRHdhZmZsZV9oYXNfeDExX2VnbD0xLC1Ed2FmZmxlX2hhc194MTFfZWdsPTAsdmlydHVhbC9saWJnbCBsaWJ4Y2IiCisKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtkYXRhZGlyfS9jbWFrZS9Nb2R1bGVzL0ZpbmRXYWZmbGUuY21ha2UgXAorICAgICAgICAgICAgICAgICAgICAke2xpYmRpcn0vY21ha2UvV2FmZmxlLyIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL2xpYmlucHV0L2xpYmlucHV0LWNvbmZpZ3VyZS5hYy1hZGQtYXJnLXdpdGgtbGlidW53aW5kLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvbGliaW5wdXQvbGliaW5wdXQtY29uZmlndXJlLmFjLWFkZC1hcmctd2l0aC1saWJ1bndpbmQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGY1ZWJjYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL2xpYmlucHV0L2xpYmlucHV0LWNvbmZpZ3VyZS5hYy1hZGQtYXJnLXdpdGgtbGlidW53aW5kLnBhdGNoCkBAIC0wLDAgKzEsNTAgQEAKK0Zyb20gY2M2ZmNlNTg3ZjI2MjhjOGIzNDI3NjRlMDZmYjBmYzI3YzFlODI3NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBNb24sIDMgQXVnIDIwMTUgMjA6MzM6NDQgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlLmFjOiBhZGQgYXJnIC0td2l0aC1saWJ1bndpbmQKKworQWRkIGFyZyAtLXdpdGgtbGlidW53aW5kIGZvciBjb25maWd1cmUgc28gaXQncyBvcHRpb25hbCB0byBjaGVjaworbGlidW53aW5kLCB3aGljaCBpcyBoZWxwZnVsbCB0byBtYWtlIGRldGVybWluaXN0aWMgYnVpbGRzLgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbd2F5bGFuZC1kZXZlbF0KKworU2lnbmVkLW9mZi1ieTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDE5ICsrKysrKysrKysrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggMzE0YjBkNC4uMjQyZDI1MSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNjAsMTMgKzYwLDIyIEBAIFBLR19QUk9HX1BLR19DT05GSUcoKQorIFBLR19DSEVDS19NT0RVTEVTKE1UREVWLCBbbXRkZXYgPj0gMS4xLjBdKQorIFBLR19DSEVDS19NT0RVTEVTKExJQlVERVYsIFtsaWJ1ZGV2XSkKKyBQS0dfQ0hFQ0tfTU9EVUxFUyhMSUJFVkRFViwgW2xpYmV2ZGV2ID49IDAuNF0pCistUEtHX0NIRUNLX01PRFVMRVMoTElCVU5XSU5ELAorKworK0FDX0FSR19XSVRIKGxpYnVud2luZCwKKysgICAgICAgICAgICBBU19IRUxQX1NUUklORyhbLS13aXRob3V0LWxpYnVud2luZF0sW0RvIG5vdCB1c2UgbGlidW53aW5kXSkpCisrCisrQVNfSUYoW3Rlc3QgIngkd2l0aF9saWJ1bndpbmQiICE9ICJ4bm8iXSwKKysJW1BLR19DSEVDS19NT0RVTEVTKExJQlVOV0lORCwKKyAJCSAgW2xpYnVud2luZF0sCisgCQkgIFtIQVZFX0xJQlVOV0lORD15ZXNdLAorLQkJICBbSEFWRV9MSUJVTldJTkQ9bm9dKQorLWlmIHRlc3QgIngkSEFWRV9MSUJVTldJTkQiID0gInh5ZXMiOyB0aGVuCistCUFDX0RFRklORShIQVZFX0xJQlVOV0lORCwgMSwgW0hhdmUgbGlidW53aW5kIHN1cHBvcnRdKQorLWZpCisrCQkgIFtIQVZFX0xJQlVOV0lORD1ub10pXSwKKysJW0hBVkVfTElCVU5XSU5EPW5vXSkKKysKKytBU19JRihbdGVzdCAieCRIQVZFX0xJQlVOV0lORCIgPSAieHllcyJdLAorKwlbQUNfREVGSU5FKEhBVkVfTElCVU5XSU5ELCAxLCBbSGF2ZSBsaWJ1bndpbmQgc3VwcG9ydF0pXSwKKysJW0FTX0lGKFt0ZXN0ICJ4JHdpdGhfbGlidW53aW5kIiA9ICJ4eWVzIl0sCisrCQlbQUNfTVNHX0VSUk9SKFtsaWJ1bndpbmQgcmVxdWVzdGVkIGJ1dCBub3QgZm91bmRdKV0pXSkKKysKKyBBTV9DT05ESVRJT05BTChIQVZFX0xJQlVOV0lORCwgW3Rlc3QgIngkSEFWRV9MSUJVTldJTkQiID0geHllc10pCisgQUNfUEFUSF9QUk9HKEFERFIyTElORSwgW2FkZHIybGluZV0pCisgaWYgdGVzdCAieCRBRERSMkxJTkUiICE9ICJ4IjsgdGhlbgorLS0gCisyLjMuNQorCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC9saWJpbnB1dC90b3VjaHBhZC1zZXJpYWwtc3luYXB0aWNzLW5lZWQtdG8tZmFrZS1uZXctdG91Y2hlcy1vbi1UUklQTEVUQVAucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC9saWJpbnB1dC90b3VjaHBhZC1zZXJpYWwtc3luYXB0aWNzLW5lZWQtdG8tZmFrZS1uZXctdG91Y2hlcy1vbi1UUklQTEVUQVAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTdjNjNiZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL2xpYmlucHV0L3RvdWNocGFkLXNlcmlhbC1zeW5hcHRpY3MtbmVlZC10by1mYWtlLW5ldy10b3VjaGVzLW9uLVRSSVBMRVRBUC5wYXRjaApAQCAtMCwwICsxLDcyIEBACitUaGlzIGlzIGEgd29ya2Fyb3VuZCB1cHN0cmVhbSBzdWdnZXN0cyBmb3IgdXNlIHdpdGgga2VybmVsIDQuMS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFt0ZW1wb3Jhcnkgd29yay1hcm91bmRdCitTaWduZWQtT2ZmLUJ5OiBKdXNzaSBLdWtrb25lbiA8anVzc2kua3Vra29uZW5AaW50ZWwuY29tPgorCisKKworRnJvbTogUGV0ZXIgSHV0dGVyZXIgPHBldGVyLmh1dHRlcmVyQHdoby10Lm5ldD4KK0RhdGU6IE1vbiBBdWcgMyAxODoyMzoxMiBQRFQgMjAxNQorU3ViamVjdDogW1BBVENIIHYzIGxpYmlucHV0XSB0b3VjaHBhZDogc2VyaWFsIHN5bmFwdGljcyBuZWVkIHRvIGZha2UgbmV3IHRvdWNoZXMgb24gVFJJUExFVEFQCisKK09uIHRoZSA0LjEga2VybmVscyBzeW5hcHRpY3MgcHJldGVuZHMgdG8gaGF2ZSAzIHNsb3RzICh0aGUgc2VyaWFsIGZ3IG9ubHkgZG9lcworMikuIFRoaXMgd2FzIGFkZGVkIHRvIGF2b2lkIGN1cnNvciBqdW1wcyBidXQgaGFzIHNpbmNlIGJlZW4gcmV2ZXJ0ZWQgZm9yIDQuMgorKGtlcm5lbCBjb21taXQgZGJmM2MzNzA4NiwgNC4xLjMgaXMgc3RpbGwgYnVnZ3kpLiBJbiBzb21lIGNhc2VzIGEgVFJJUExFVEFQCittYXkgYmUgdHJpZ2dlcmVkIHdpdGhvdXQgc2xvdCAyIGV2ZXIgYWN0aXZhdGluZy4KKworV2hpbGUgdGhlcmUgYXJlIHN0aWxsIHRob3NlIGtlcm5lbHMgb3V0IHRoZXJlLCB3b3JrIGFyb3VuZCB0aGlzIGJ1ZyBieSBvcGVuaW5nCithIG5ldyB0b3VjaCBwb2ludCB3aGVyZSBub25lIGV4aXN0cyBpZiB0aGUgZmFrZSBmaW5nZXIgY291bnQgZXhjZWVkcyB0aGUgc2xvdAorY291bnQuCisKK1JlcG9ydGVkLWJ5OiBKYW4gQWxleGFuZGVyIFN0ZWZmZW5zIDxqYW4uc3RlZmZlbnMgYXQgZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogUGV0ZXIgSHV0dGVyZXIgPHBldGVyLmh1dHRlcmVyIGF0IHdoby10Lm5ldD4KK1Rlc3RlZC1ieTogSmFuIEFsZXhhbmRlciBTdGVmZmVucyA8amFuLnN0ZWZmZW5zIGF0IGdtYWlsLmNvbT4KK1Jldmlld2VkLWJ5OiBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZSBhdCByZWRoYXQuY29tPgorLS0tCitDaGFuZ2VzIHRvIHYyOgorLSBzcGxpdCBvdXQgdGhlIGhhbmRsaW5nIGluc3RlYWQgb2YgaGF2aW5nIGEgdG1wIHN0YXRlIHZhcmlhYmxlLCBzZWUgSGFucycKKyAgY29tbWVudHMgZnJvbSB2MgorCitNYWlubHkgc2VuZGluZyB0aGlzIHRvIHRoZSBsaXN0IGFnYWluIHNvIEkgaGF2ZSBhIGxpbmsgdG8gcG9pbnQgcGVvcGxlIHRvLgorSWYgeW91J3JlIG9uIDQuMS54IGFkZCB0aGlzIHBhdGNoIHRvIHlvdXIgZGlzdHJpYnV0aW9uIHBhY2thZ2UuCisKKyBzcmMvZXZkZXYtbXQtdG91Y2hwYWQuYyB8IDIyICsrKysrKysrKysrKysrKystLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9ldmRldi1tdC10b3VjaHBhZC5jIGIvc3JjL2V2ZGV2LW10LXRvdWNocGFkLmMKK2luZGV4IGE2ODNkOWEuLjVlZjAzZDUgMTAwNjQ0CistLS0gYS9zcmMvZXZkZXYtbXQtdG91Y2hwYWQuYworKysrIGIvc3JjL2V2ZGV2LW10LXRvdWNocGFkLmMKK0BAIC0zNjksMTMgKzM2OSwyMyBAQCB0cF9yZXN0b3JlX3N5bmFwdGljc190b3VjaGVzKHN0cnVjdCB0cF9kaXNwYXRjaCAqdHAsCisgCWZvciAoaSA9IDA7IGkgPCB0cC0+bnVtX3Nsb3RzOyBpKyspIHsKKyAJCXN0cnVjdCB0cF90b3VjaCAqdCA9IHRwX2dldF90b3VjaCh0cCwgaSk7CisgCistCQlpZiAodC0+c3RhdGUgIT0gVE9VQ0hfRU5EKQorKwkJc3dpdGNoKHQtPnN0YXRlKSB7CisrCQljYXNlIFRPVUNIX0hPVkVSSU5HOgorKwkJY2FzZSBUT1VDSF9CRUdJTjoKKysJCWNhc2UgVE9VQ0hfVVBEQVRFOgorIAkJCWNvbnRpbnVlOworLQorLQkJLyogbmV3IHRvdWNoLCBtb3ZlIGl0IHRocm91Z2ggYmVnaW4gdG8gdXBkYXRlIGltbWVkaWF0ZWx5ICovCistCQl0cF9uZXdfdG91Y2godHAsIHQsIHRpbWUpOworLQkJdHBfYmVnaW5fdG91Y2godHAsIHQsIHRpbWUpOworLQkJdC0+c3RhdGUgPSBUT1VDSF9VUERBVEU7CisrCQljYXNlIFRPVUNIX05PTkU6CisrCQkJLyogbmV3IHRvdWNoLCBtb3ZlIGl0IHRocm91Z2ggdG8gYmVnaW4gaW1tZWRpYXRlbHkgKi8KKysJCQl0cF9uZXdfdG91Y2godHAsIHQsIHRpbWUpOworKwkJCXRwX2JlZ2luX3RvdWNoKHRwLCB0LCB0aW1lKTsKKysJCQlicmVhazsKKysJCWNhc2UgVE9VQ0hfRU5EOgorKwkJCS8qIHRvdWNoIGp1c3QgZW5kZWQgLHdlIG5lZWQgbmVlZCB0byByZXN0b3JlIGl0IHRvIHVwZGF0ZSAqLworKwkJCXRwX25ld190b3VjaCh0cCwgdCwgdGltZSk7CisrCQkJdHBfYmVnaW5fdG91Y2godHAsIHQsIHRpbWUpOworKwkJCXQtPnN0YXRlID0gVE9VQ0hfVVBEQVRFOworKwkJCWJyZWFrOworKwkJfQorIAl9CisgfQorIAorLS0gCisyLjQuMworCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC9saWJpbnB1dF8wLjIxLjAuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC9saWJpbnB1dF8wLjIxLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM1YTI0OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL2xpYmlucHV0XzAuMjEuMC5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIkxpYnJhcnkgdG8gaGFuZGxlIGlucHV0IGRldmljZXMgaW4gV2F5bGFuZCBjb21wb3NpdG9ycyIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cuZnJlZWRlc2t0b3Aub3JnL3dpa2kvU29mdHdhcmUvbGliaW5wdXQvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTIxODRhZWYzOGZmMTM3ZWQzM2NlOWE2M2I5ZDFlYjhmIgorCitERVBFTkRTID0gImxpYmV2ZGV2IHVkZXYgbXRkZXYiCisKK1NSQ19VUkkgPSAiaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvc29mdHdhcmUvJHtCUE59LyR7QlB9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9saWJpbnB1dC1jb25maWd1cmUuYWMtYWRkLWFyZy13aXRoLWxpYnVud2luZC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly90b3VjaHBhZC1zZXJpYWwtc3luYXB0aWNzLW5lZWQtdG8tZmFrZS1uZXctdG91Y2hlcy1vbi1UUklQTEVUQVAucGF0Y2ggXAorIgorU1JDX1VSSVttZDVzdW1dID0gImY5MWQ4ZjRjZWQ5ODZmMWFlMTZkNTJlYTAyYmM3ODM3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjdjY2U3YTllNTEwZGZlNWM0YTE5YWQwMGU5MzUwODA4ZDRmNTlmODYxMWZkMmI1ZTg3MjEzYzUwNzI4M2Y1NTAiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1tsaWJ1bndpbmRdID0gIi0td2l0aC1saWJ1bndpbmQsLS13aXRob3V0LWxpYnVud2luZCxsaWJ1bndpbmQiCitQQUNLQUdFQ09ORklHW2d1aV0gPSAiLS1lbmFibGUtZXZlbnQtZ3VpLC0tZGlzYWJsZS1ldmVudC1ndWksY2Fpcm8gZ3RrKzMiCisKK0ZJTEVTXyR7UE59ICs9ICIke2xpYmRpcn0vdWRldi8iCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS91ZGV2Ly5kZWJ1ZyIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL210ZGV2XzEuMS41LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvbXRkZXZfMS4xLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2NkMGViYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL210ZGV2XzEuMS41LmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiTXVsdGl0b3VjaCBQcm90b2NvbCBUcmFuc2xhdGlvbiBMaWJyYXJ5IgorCitERVNDUklQVElPTiA9ICJtdGRldiBpcyBhIGxpYnJhcnkgd2hpY2ggdHJhbnNmb3JtcyBhbGwgdmFyaWFudHMgb2Yga2VybmVsIFwKK211bHRpdG91Y2ggZXZlbnRzIHRvIHRoZSBzbG90dGVkIHR5cGUgQiBwcm90b2NvbC4gVGhlIGV2ZW50cyBwdXQgaW50byBtdGRldiBtYXkgXAorYmUgZnJvbSBhbnkgTVQgZGV2aWNlLCBzcGVjaWZpY2FsbHkgdHlwZSBBIHdpdGhvdXQgY29udGFjdCB0cmFja2luZywgdHlwZSBBIHdpdGggXAorY29udGFjdCB0cmFja2luZywgb3IgdHlwZSBCIHdpdGggY29udGFjdCB0cmFja2luZyIKKworSE9NRVBBR0UgPSAiaHR0cDovL2JpdG1hdGgub3JnL2NvZGUvbXRkZXYvIgorU0VDVElPTiA9ICJsaWJzIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVhNmJkMDI2OGJiMGZjZDZiMjc2OTg2MTZjZWVlNWQ2IgorCitTUkNfVVJJID0gImh0dHA6Ly9iaXRtYXRoLm9yZy9jb2RlLyR7QlBOfS8ke0JQfS50YXIuYnoyIgorU1JDX1VSSVttZDVzdW1dID0gIjUyYzk2MTBiNjAwMmY3MWQxNjQyZGMxYTFjY2E1ZWMxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY2NzdkNTcwOGE3OTQ4ODQwZGU3MzRkOGI0Njc1ZDU5ODBkNDU2MTE3MWM1YThlODllNTRhZGY3YTEzZWJhN2YiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZC9hbHdheXMtYnVpbGQtc2Nhbm5lci5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dheWxhbmQvYWx3YXlzLWJ1aWxkLXNjYW5uZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWUwZTZiZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dheWxhbmQvYWx3YXlzLWJ1aWxkLXNjYW5uZXIucGF0Y2gKQEAgLTAsMCArMSwxMDUgQEAKK2J1aWxkOiBhbHdheXMgYnVpbGQgd2F5bGFuZC1zY2FubmVyCisKK1RoZSBwcmV2aW91cyBpZGlvbSBmb3IgYnVpbGRpbmcgYSBjcm9zcy1jb21waWxlZCBXYXlsYW5kIGlzIHRvIGJ1aWxkIG9uY2UgZm9yCit0aGUgYnVpbGQgaG9zdCAod2l0aCAtLWVuYWJsZS1zY2FubmVyIC0tZGlzYWJsZS1saWJyYXJpZXMpIHRvIGdldCBhCit3YXlsYW5kLXNjYW5uZXIgYmluYXJ5IHRoYXQgY2FuIHRoZW4gYmUgdXNlZCBpbiBhIGNyb3NzLWNvbXBpbGUgKHdpdGgKKy0tZGlzYWJsZS1zY2FubmVyKS4gIFRoZSBwcm9ibGVtIHdpdGggdGhpcyBpcyB0aGF0IHRoZSBjcm9zcyB3YXlsYW5kIGlzIG1pc3NpbmcKK2Egd2F5bGFuZC1zY2FubmVyIGJpbmFyeSwgd2hpY2ggbWVhbnMgeW91IHRoZW4gY2FuJ3QgZG8gYW55IFdheWxhbmQgZGV2ZWxvcG1lbnQKK29uIHRoZSB0YXJnZXQuCisKK0luc3RlYWQsIGFsd2F5cyBidWlsZCB3YXlsYW5kLXNjYW5uZXIgZm9yIHRoZSB0YXJnZXQgYW5kIGNoYW5nZQorLS1lbmFibGUvZGlzYWJsZS1zY2FubmVyIHRvIC0td2l0aC93aXRob3V0LWhvc3Qtc2Nhbm5lci4gIE5vcm1hbCBidWlsZHMgdXNlIHRoZQorZGVmYXVsdCBvZiAtLXdpdGhvdXQtaG9zdC1zY2FubmVyIGFuZCBydW4gdGhlIHdheWxhbmQtc2Nhbm5lciBpdCBqdXN0IGJ1aWx0LCBhbmQKK2Nyb3NzLWNvbXBpbGVkIGJ1aWxkcyBwYXNzIC0td2l0aC1ob3N0LXNjYW5uZXIgdG8gdXNlIGEgcHJldmlvdXNseSBidWlsdCBob3N0CitzY2FubmVyIGJ1dCBzdGlsbCBnZXQgYSB3YXlsYW5kLXNjYW5uZXIgdG8gaW5zdGFsbC4KKworKGEgdGhlb3JldGljYWxseSBuZWF0ZXIgc29sdXRpb24gd291bGQgYmUgdG8gYnVpbGQgdHdvIHNjYW5uZXJzIGlmIHJlcXVpcmVkIChvbmUKK3RvIHJ1biBhbmQgb25lIHRvIGluc3RhbGwpLCBidXQgYXV0b21ha2UgbWFrZXMgdGhpcyBvdmVybHkgY29tcGxpY2F0ZWQpCisKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggYzE5NDk0Zi4uYzJkOTI5YiAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTY0LDE2ICs2NCwxNyBAQCBub2Rpc3RfbGlid2F5bGFuZF9jbGllbnRfbGFfU09VUkNFUyA9CQlcCisgCisgcGtnY29uZmlnX0RBVEEgKz0gc3JjL3dheWxhbmQtY2xpZW50LnBjIHNyYy93YXlsYW5kLXNlcnZlci5wYworIAorLWlmIEVOQUJMRV9TQ0FOTkVSCistd2F5bGFuZF9zY2FubmVyID0gJCh0b3BfYnVpbGRkaXIpL3dheWxhbmQtc2Nhbm5lcgorIGJpbl9QUk9HUkFNUyA9IHdheWxhbmQtc2Nhbm5lcgorIHdheWxhbmRfc2Nhbm5lcl9TT1VSQ0VTID0gc3JjL3NjYW5uZXIuYworIHdheWxhbmRfc2Nhbm5lcl9DRkxBR1MgPSAkKEVYUEFUX0NGTEFHUykgJChBTV9DRkxBR1MpCisgd2F5bGFuZF9zY2FubmVyX0xEQUREID0gJChFWFBBVF9MSUJTKSBsaWJ3YXlsYW5kLXV0aWwubGEKKy0kKEJVSUxUX1NPVVJDRVMpIDogd2F5bGFuZC1zY2FubmVyCisgcGtnY29uZmlnX0RBVEEgKz0gc3JjL3dheWxhbmQtc2Nhbm5lci5wYworLWVsc2UKKysKKytpZiBIT1NUX1NDQU5ORVIKKyB3YXlsYW5kX3NjYW5uZXIgPSB3YXlsYW5kLXNjYW5uZXIKKytlbHNlCisrJChCVUlMVF9TT1VSQ0VTKSA6IHdheWxhbmQtc2Nhbm5lcgorK3dheWxhbmRfc2Nhbm5lciA9ICQodG9wX2J1aWxkZGlyKS93YXlsYW5kLXNjYW5uZXIKKyBlbmRpZgorIAorIHByb3RvY29sLyUtcHJvdG9jb2wuYyA6ICQodG9wX3NyY2RpcikvcHJvdG9jb2wvJS54bWwKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGMyYTgwNGUuLmRlMGIwMmYgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTY1LDExICs2NSwxMSBAQCBBQ19DSEVDS19ERUNMKENMT0NLX01PTk9UT05JQyxbXSwKKyAJICAgICAgW1sjaW5jbHVkZSA8dGltZS5oPl1dKQorIEFDX0NIRUNLX0hFQURFUlMoW2V4ZWNpbmZvLmhdKQorIAorLUFDX0FSR19FTkFCTEUoW3NjYW5uZXJdLAorLSAgICAgICAgICAgICAgW0FDX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtc2Nhbm5lcl0sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0Rpc2FibGUgY29tcGlsYXRpb24gb2Ygd2F5bGFuZC1zY2FubmVyXSldLAorLSAgICAgICAgICAgICAgW10sCistICAgICAgICAgICAgICBbZW5hYmxlX3NjYW5uZXI9eWVzXSkKKytBQ19BUkdfV0lUSChbaG9zdC1zY2FubmVyXSwKKysgICAgICAgICAgICBbQUNfSEVMUF9TVFJJTkcoWy0td2l0aC1ob3N0LXNjYW5uZXJdLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBbVXNlIGEgaG9zdCB3YXlsYW5kLXNjYW5uZXJdKV0sCisrICAgICAgICAgICAgW10sCisrICAgICAgICAgICAgW3dpdGhfaG9zdF9zY2FubmVyPW5vXSkKKyAKKyBBQ19BUkdfRU5BQkxFKFtkb2N1bWVudGF0aW9uXSwKKyAJICAgICAgW0FDX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtZG9jdW1lbnRhdGlvbl0sCitAQCAtNzcsMjUgKzc3LDIzIEBAIEFDX0FSR19FTkFCTEUoW2RvY3VtZW50YXRpb25dLAorIAkgICAgICBbXSwKKyAJICAgICAgW2VuYWJsZV9kb2N1bWVudGF0aW9uPXllc10pCisgCistQU1fQ09ORElUSU9OQUwoRU5BQkxFX1NDQU5ORVIsIHRlc3QgIngkZW5hYmxlX3NjYW5uZXIiID0geHllcykKKytBTV9DT05ESVRJT05BTChIT1NUX1NDQU5ORVIsIHRlc3QgIngkd2l0aF9ob3N0X3NjYW5uZXIiID0geHllcykKKyAKKyBBQ19BUkdfV0lUSChpY29uZGlyLCBbICAtLXdpdGgtaWNvbmRpcj08ZGlyPiAgICBMb29rIGZvciBjdXJzb3IgaWNvbnMgaGVyZV0sCisgCQkgICAgIFsgIElDT05ESVI9JHdpdGh2YWxdLAorIAkJICAgICBbICBJQ09ORElSPSR7ZGF0YWRpcn0vaWNvbnNdKQorIEFDX1NVQlNUKFtJQ09ORElSXSkKKyAKKy1pZiB0ZXN0ICJ4JGVuYWJsZV9zY2FubmVyIiA9ICJ4eWVzIjsgdGhlbgorLQlQS0dfQ0hFQ0tfTU9EVUxFUyhFWFBBVCwgW2V4cGF0XSwgW10sCistCQlbQUNfQ0hFQ0tfSEVBREVSUyhleHBhdC5oLCBbXSwKKy0JCQlbQUNfTVNHX0VSUk9SKFtDYW4ndCBmaW5kIGV4cGF0LmguIFBsZWFzZSBpbnN0YWxsIGV4cGF0Ll0pXSkKKy0JCSBTQVZFX0xJQlM9IiRMSUJTIgorLQkJIEFDX1NFQVJDSF9MSUJTKFhNTF9QYXJzZXJDcmVhdGUsIGV4cGF0LCBbXSwKKy0JCQlbQUNfTVNHX0VSUk9SKFtDYW4ndCBmaW5kIGV4cGF0IGxpYnJhcnkuIFBsZWFzZSBpbnN0YWxsIGV4cGF0Ll0pXSkKKy0JCSBFWFBBVF9MSUJTPSIkTElCUyIKKy0JCSBMSUJTPSIkU0FWRV9MSUJTIgorLQkJIEFDX1NVQlNUKEVYUEFUX0xJQlMpCistCQldKQorLWZpCisrUEtHX0NIRUNLX01PRFVMRVMoRVhQQVQsIFtleHBhdF0sIFtdLAorKwlbQUNfQ0hFQ0tfSEVBREVSUyhleHBhdC5oLCBbXSwKKysJCVtBQ19NU0dfRVJST1IoW0Nhbid0IGZpbmQgZXhwYXQuaC4gUGxlYXNlIGluc3RhbGwgZXhwYXQuXSldKQorKwkgU0FWRV9MSUJTPSIkTElCUyIKKysJIEFDX1NFQVJDSF9MSUJTKFhNTF9QYXJzZXJDcmVhdGUsIGV4cGF0LCBbXSwKKysJCVtBQ19NU0dfRVJST1IoW0Nhbid0IGZpbmQgZXhwYXQgbGlicmFyeS4gUGxlYXNlIGluc3RhbGwgZXhwYXQuXSldKQorKwkgRVhQQVRfTElCUz0iJExJQlMiCisrCSBMSUJTPSIkU0FWRV9MSUJTIgorKwkgQUNfU1VCU1QoRVhQQVRfTElCUykKKysJXSkKKyAKKyBBQ19QQVRIX1BST0coWFNMVFBST0MsIHhzbHRwcm9jKQorIEFNX0NPTkRJVElPTkFMKFtIQVZFX1hTTFRQUk9DXSwgW3Rlc3QgIngkWFNMVFBST0MiICE9ICJ4Il0pCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93YXlsYW5kL2Rpc2FibGUtbWFjcm8tY2hlY2tzLW5vdC11c2VkLWZvci1zY2FubmVyLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZC9kaXNhYmxlLW1hY3JvLWNoZWNrcy1ub3QtdXNlZC1mb3Itc2Nhbm5lci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDhiYzU1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2F5bGFuZC9kaXNhYmxlLW1hY3JvLWNoZWNrcy1ub3QtdXNlZC1mb3Itc2Nhbm5lci5wYXRjaApAQCAtMCwwICsxLDUwIEBACitkaXNhYmxlIG1hY3JvIGNoZWNrcyBub3QgdXNlZCBmb3Igc2Nhbm5lcgorCitXZSBvbmx5IGJ1aWxkIHdheWxhbmQtbmF0aXZlIGZvciB0aGUgc2Nhbm5lciwgc28gZGlzYWJsZSB0aGUgYml0cyB3ZSBkb24ndAorYWN0dWFsbHkgbmVlZC4gVGhpcyBhdm9pZCBidWlsZCBpc3N1ZSBvbiBvbGRlciBkaXN0cm8gc3VjaCBhcyBDZW50b3MgNS54OgorfCBlcnJvcjogJ09fQ0xPRVhFQycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCit8IGVycm9yOiBzeXMvdGltZXJmZC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Cit8IGVycm9yOiAnQ0xPQ0tfTU9OT1RPTklDJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKK3wgZXJyb3I6ICdURkRfQ0xPRVhFQycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCit8IGVycm9yOiAnU0ZEX0NMT0VYRUMnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogVGluZyBMaXUgPGIyODQ5NUBmcmVlc2NhbGUuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgMjAgKysrKysrKysrKy0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNDEsMTYgKzQxLDE2IEBAIEFDX1NVQlNUKEdDQ19DRkxBR1MpCisgCisgQUNfQ0hFQ0tfRlVOQ1MoW2FjY2VwdDQgbWtvc3RlbXAgcG9zaXhfZmFsbG9jYXRlXSkKKyAKKy1BQ19DSEVDS19ERUNMKFNGRF9DTE9FWEVDLFtdLAorLQkgICAgICBbQUNfTVNHX0VSUk9SKCJTRkRfQ0xPRVhFQyBpcyBuZWVkZWQgdG8gY29tcGlsZSB3YXlsYW5kIildLAorLQkgICAgICBbWyNpbmNsdWRlIDxzeXMvc2lnbmFsZmQuaD5dXSkKKy1BQ19DSEVDS19ERUNMKFRGRF9DTE9FWEVDLFtdLAorLQkgICAgICBbQUNfTVNHX0VSUk9SKCJURkRfQ0xPRVhFQyBpcyBuZWVkZWQgdG8gY29tcGlsZSB3YXlsYW5kIildLAorLQkgICAgICBbWyNpbmNsdWRlIDxzeXMvdGltZXJmZC5oPl1dKQorLUFDX0NIRUNLX0RFQ0woQ0xPQ0tfTU9OT1RPTklDLFtdLAorLQkgICAgICBbQUNfTVNHX0VSUk9SKCJDTE9DS19NT05PVE9OSUMgaXMgbmVlZGVkIHRvIGNvbXBpbGUgd2F5bGFuZCIpXSwKKy0JICAgICAgW1sjaW5jbHVkZSA8dGltZS5oPl1dKQorLUFDX0NIRUNLX0hFQURFUlMoW2V4ZWNpbmZvLmhdKQorKyMjQUNfQ0hFQ0tfREVDTChTRkRfQ0xPRVhFQyxbXSwKKysjCSAgICAgIFtBQ19NU0dfRVJST1IoIlNGRF9DTE9FWEVDIGlzIG5lZWRlZCB0byBjb21waWxlIHdheWxhbmQiKV0sCisrIwkgICAgICBbWyNpbmNsdWRlIDxzeXMvc2lnbmFsZmQuaD5dXSkKKysjQUNfQ0hFQ0tfREVDTChURkRfQ0xPRVhFQyxbXSwKKysjCSAgICAgIFtBQ19NU0dfRVJST1IoIlRGRF9DTE9FWEVDIGlzIG5lZWRlZCB0byBjb21waWxlIHdheWxhbmQiKV0sCisrIwkgICAgICBbWyNpbmNsdWRlIDxzeXMvdGltZXJmZC5oPl1dKQorKyNBQ19DSEVDS19ERUNMKENMT0NLX01PTk9UT05JQyxbXSwKKysjCSAgICAgIFtBQ19NU0dfRVJST1IoIkNMT0NLX01PTk9UT05JQyBpcyBuZWVkZWQgdG8gY29tcGlsZSB3YXlsYW5kIildLAorKyMJICAgICAgW1sjaW5jbHVkZSA8dGltZS5oPl1dKQorKyNBQ19DSEVDS19IRUFERVJTKFtleGVjaW5mby5oXSkKKyAKKyBBQ19BUkdfRU5BQkxFKFtzY2FubmVyXSwKKyAgICAgICAgICAgICAgIFtBQ19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXNjYW5uZXJdLAorLS0gCisxLjguMy4yCisKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dheWxhbmRfMS44LjEuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93YXlsYW5kXzEuOC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmOWEwYWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93YXlsYW5kXzEuOC4xLmJiCkBAIC0wLDAgKzEsNDUgQEAKK1NVTU1BUlkgPSAiV2F5bGFuZCwgYSBwcm90b2NvbCBiZXR3ZWVuIGEgY29tcG9zaXRvciBhbmQgY2xpZW50cyIKK0RFU0NSSVBUSU9OID0gIldheWxhbmQgaXMgYSBwcm90b2NvbCBmb3IgYSBjb21wb3NpdG9yIHRvIHRhbGsgdG8gaXRzIGNsaWVudHMgXAorYXMgd2VsbCBhcyBhIEMgbGlicmFyeSBpbXBsZW1lbnRhdGlvbiBvZiB0aGF0IHByb3RvY29sLiBUaGUgY29tcG9zaXRvciBjYW4gYmUgXAorYSBzdGFuZGFsb25lIGRpc3BsYXkgc2VydmVyIHJ1bm5pbmcgb24gTGludXgga2VybmVsIG1vZGVzZXR0aW5nIGFuZCBldmRldiBcCitpbnB1dCBkZXZpY2VzLCBhbiBYIGFwcGxpY2F0aW9uLCBvciBhIHdheWxhbmQgY2xpZW50IGl0c2VsZi4gVGhlIGNsaWVudHMgY2FuIFwKK2JlIHRyYWRpdGlvbmFsIGFwcGxpY2F0aW9ucywgWCBzZXJ2ZXJzIChyb290bGVzcyBvciBmdWxsc2NyZWVuKSBvciBvdGhlciBcCitkaXNwbGF5IHNlcnZlcnMuIgorSE9NRVBBR0UgPSAiaHR0cDovL3dheWxhbmQuZnJlZWRlc2t0b3Aub3JnIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xZDQ0NzZhN2Q5OGRkNTY5MWM1M2Q0ZDQzYTUxMGM3MiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvd2F5bGFuZC1zZXJ2ZXIuYztlbmRsaW5lPTIxO21kNT0wNzlhZTIxZGJmOThhZGE1MmVjMjM3NDQ4NTFiMGE1YyIKKworU1JDX1VSSSA9ICJodHRwOi8vd2F5bGFuZC5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly9hbHdheXMtYnVpbGQtc2Nhbm5lci5wYXRjaCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2ZTg3Nzg3N2MzZTA0Y2ZiODY1Y2ZjZDA3MzNjOWFiMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmMTdjOTM4ZDFjMjRmZDBhMTBmNjUwYTYyM2EyNzc1ZDMyOWRiMzE2OGI1NzMyZTQ5OGIwODM4OGVjNzc2ZmM4IgorCitTUkNfVVJJX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIFwKKyAgICBmaWxlOi8vZGlzYWJsZS1tYWNyby1jaGVja3Mtbm90LXVzZWQtZm9yLXNjYW5uZXIucGF0Y2ggXAorICAgICIKK0VYVFJBX09FQ09ORl9jbGFzcy1uYXRpdmUgPSAiLS1kaXNhYmxlLWRvY3VtZW50YXRpb24iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK0RFUEVORFMgPSAiZXhwYXQgbGliZmZpIHdheWxhbmQtbmF0aXZlIgorCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLWRvY3VtZW50YXRpb24gLS13aXRoLWhvc3Qtc2Nhbm5lciIKKworIyBXYXlsYW5kIGluc3RhbGxzIGEgTTQgbWFjcm8gZm9yIG90aGVyIHByb2plY3RzIHRvIHVzZSwgd2hpY2ggdXNlcyB0aGUgdGFyZ2V0CisjIHBrZy1jb25maWcgdG8gZmluZCBmaWxlcy4gIFJlcGxhY2UgcGtnLWNvbmZpZyB3aXRoIHBrZy1jb25maWctbmF0aXZlLgorZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgeworICBzZWQgLWUgJ3MsUEtHX0NIRUNLX01PRFVMRVMoLiopLCxnJyBcCisgICAgICAtZSAncywkUEtHX0NPTkZJRyxwa2ctY29uZmlnLW5hdGl2ZSxnJyBcCisgICAgICAtaSAke0R9LyR7ZGF0YWRpcn0vYWNsb2NhbC93YXlsYW5kLXNjYW5uZXIubTQKK30KKworc3lzcm9vdF9zdGFnZV9hbGxfYXBwZW5kX2NsYXNzLXRhcmdldCAoKSB7CisJcm0gJHtTWVNST09UX0RFU1RESVJ9LyR7ZGF0YWRpcn0vYWNsb2NhbC93YXlsYW5kLXNjYW5uZXIubTQKKwljcCAke1NUQUdJTkdfREFUQURJUl9OQVRJVkV9L2FjbG9jYWwvd2F5bGFuZC1zY2FubmVyLm00ICR7U1lTUk9PVF9ERVNURElSfS8ke2RhdGFkaXJ9L2FjbG9jYWwvCit9CisKK0ZJTEVTXyR7UE59ID0gIiR7bGliZGlyfS8qJHtTT0xJQlN9IgorRklMRVNfJHtQTn0tZGV2ICs9ICIke2JpbmRpcn0gJHtkYXRhZGlyfS93YXlsYW5kIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2VzdG9uLWluaXQuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93ZXN0b24taW5pdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOGI3OGJjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2VzdG9uLWluaXQuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJTdGFydHVwIHNjcmlwdCBmb3IgdGhlIFdlc3RvbiBXYXlsYW5kIGNvbXBvc2l0b3IiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L0xJQ0VOU0U7bWQ1PTRkOTJjZDM3M2FiZGEzOTM3YzJiYzQ3ZmJjNDlkNjkwIgorCitTUkNfVVJJID0gImZpbGU6Ly9pbml0IgorCitTID0gIiR7V09SS0RJUn0iCisKK2RvX2luc3RhbGwoKSB7CisJaW5zdGFsbCAtZCAke0R9LyR7c3lzY29uZmRpcn0vaW5pdC5kCisJaW5zdGFsbCAtbTc1NSAke1dPUktESVJ9L2luaXQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC93ZXN0b24KK30KKworaW5oZXJpdCBhbGxhcmNoIHVwZGF0ZS1yYy5kCisKK1JERVBFTkRTXyR7UE59ID0gIndlc3RvbiBrYmQiCisKK0lOSVRTQ1JJUFRfTkFNRSA9ICJ3ZXN0b24iCitJTklUU0NSSVBUX1BBUkFNUyA9ICJzdGFydCA5IDUgMiAuIHN0b3AgMjAgMCAxIDYgLiIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dlc3Rvbi1pbml0L2luaXQgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93ZXN0b24taW5pdC9pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlOTM4ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93ZXN0b24taW5pdC9pbml0CkBAIC0wLDAgKzEsNjAgQEAKKyMhL2Jpbi9zaAorIworIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogd2VzdG9uCisjIFJlcXVpcmVkLVN0YXJ0OiAkbG9jYWxfZnMgJHJlbW90ZV9mcworIyBSZXF1aXJlZC1TdG9wOiAkbG9jYWxfZnMgJHJlbW90ZV9mcworIyBEZWZhdWx0LVN0YXJ0OiAgICAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgMCAxIDYKKyMjIyBFTkQgSU5JVCBJTkZPCisKK2lmIHRlc3QgLWUgL2V0Yy9kZWZhdWx0L3dlc3RvbiA7IHRoZW4KKyAgICAgICAgLiAvZXRjL2RlZmF1bHQvd2VzdG9uCitmaQorCitraWxscHJvYygpIHsKKyAgICAgICAgcGlkPWAvYmluL3BpZG9mICQxYAorICAgICAgICBbICIkcGlkIiAhPSAiIiBdICYmIGtpbGwgJHBpZAorfQorCityZWFkIENNRExJTkUgPCAvcHJvYy9jbWRsaW5lCitmb3IgeCBpbiAkQ01ETElORTsgZG8KKyAgICAgICAgY2FzZSAkeCBpbgorICAgICAgICB3ZXN0b249ZmFsc2UpCisJCWVjaG8gIldlc3RvbiBkaXNhYmxlZCIKKwkJZXhpdCAwOworICAgICAgICAgICAgICAgIDs7CisgICAgICAgIGVzYWMKK2RvbmUKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorICAgICAgICAuIC9ldGMvcHJvZmlsZQorCisgICAgICAgICMgVGhpcyBpcyBhbGwgYSBuYXN0eSBoYWNrCisgICAgICAgIGlmIHRlc3QgLXogIiRYREdfUlVOVElNRV9ESVIiOyB0aGVuCisgICAgICAgICAgICAgICAgZXhwb3J0IFhER19SVU5USU1FX0RJUj0vcnVuL3VzZXIvcm9vdAorICAgICAgICAgICAgICAgIG1rZGlyIC0tcGFyZW50cyAkWERHX1JVTlRJTUVfRElSCisgICAgICAgICAgICAgICAgY2htb2QgMDcwMCAkWERHX1JVTlRJTUVfRElSCisgICAgICAgIGZpCisKKyAgICAgICAgb3BlbnZ0IC1zIHdlc3RvbiAtLSAkT1BUQVJHUworICA7OworCisgIHN0b3ApCisgICAgICAgIGVjaG8gIlN0b3BwaW5nIFdlc3RvbiIKKyAgICAgICAga2lsbHByb2Mgd2VzdG9uCisgIDs7CisKKyAgcmVzdGFydCkKKwkkMCBzdG9wCisgICAgICAgIHNsZWVwIDEKKyAgICAgICAgJDAgc3RhcnQKKyAgOzsKKworICAqKQorICAgICAgICBlY2hvICJ1c2FnZTogJDAgeyBzdGFydCB8IHN0b3AgfCByZXN0YXJ0IH0iCisgIDs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2VzdG9uLzAwMDEtbWFrZS1lcnJvci1wb3J0YWJsZS5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dlc3Rvbi8wMDAxLW1ha2UtZXJyb3ItcG9ydGFibGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQ4ODQ4ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dlc3Rvbi8wMDAxLW1ha2UtZXJyb3ItcG9ydGFibGUucGF0Y2gKQEAgLTAsMCArMSw4MCBAQAorRnJvbSBjMjJlOTAzNjVkODkzNDYyNTgzOTQ4MzNjYmNhZDAzZmYzMmIyZTI3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjkgTWF5IDIwMTUgMjA6NTY6MDAgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSCB3ZXN0b25dIG1ha2UgZXJyb3IoKSBwb3J0YWJsZQorCitlcnJvcigpIGlzIG5vdCBwb3NpeCBidXQgZ251IGV4dGVuc2lvbiBzbyBtYXkgbm90IGJlIGF2YWlsYWJsZSBvbiBhbGwKK2tpbmQgb2Ygc3lzdGVtc2kgZS5nLiBtdXNsLgorCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorLS0tCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAorCisgY29uZmlndXJlLmFjICAgICAgICB8ICAyICsrCisgc3JjL3dlc3Rvbi1lcnJvci5oICB8IDIwICsrKysrKysrKysrKysrKysrKysrCisgc3JjL3dlc3Rvbi1sYXVuY2guYyB8ICAyICstCisgMyBmaWxlcyBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy93ZXN0b24tZXJyb3IuaAorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCAyNjNmYzIyLi5mNTJjZDYyIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC01Nyw2ICs1Nyw4IEBAIEFDX0NIRUNLX0RFQ0woQ0xPQ0tfTU9OT1RPTklDLFtdLAorIAkgICAgICBbWyNpbmNsdWRlIDx0aW1lLmg+XV0pCisgQUNfQ0hFQ0tfSEVBREVSUyhbZXhlY2luZm8uaF0pCisgCisrQUNfQ0hFQ0tfSEVBREVSUyhbZXJyb3IuaF0pCisrCisgQUNfQ0hFQ0tfRlVOQ1MoW21rb3N0ZW1wIHN0cmNocm51bCBpbml0Z3JvdXBzIHBvc2l4X2ZhbGxvY2F0ZV0pCisgCisgQ09NUE9TSVRPUl9NT0RVTEVTPSJ3YXlsYW5kLXNlcnZlciA+PSAxLjcuOTMgcGl4bWFuLTEgPj0gMC4yNS4yIgorZGlmZiAtLWdpdCBhL3NyYy93ZXN0b24tZXJyb3IuaCBiL3NyYy93ZXN0b24tZXJyb3IuaAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjIwODlkMDIKKy0tLSAvZGV2L251bGwKKysrKyBiL3NyYy93ZXN0b24tZXJyb3IuaAorQEAgLTAsMCArMSwyMCBAQAorKyNpZm5kZWYgX1dFU1RPTl9FUlJPUl9ICisrI2RlZmluZSBfV0VTVE9OX0VSUk9SX0gKKysKKysjaWYgZGVmaW5lZChIQVZFX0VSUk9SX0gpCisrI2luY2x1ZGUgPGVycm9yLmg+CisrI2Vsc2UKKysjaW5jbHVkZSA8ZXJyLmg+CisrI2luY2x1ZGUgPHN0cmluZy5oPgorKyNkZWZpbmUgX3dlc3Rvbl9lcnJvcihTLCBFLCBGLCAuLi4pIGRvIHsgXAorKwlpZiAoRSkgXAorKwkJZXJyKFMsIEYgIjogJXMiLCAjI19fVkFfQVJHU19fLCBzdHJlcnJvcihFKSk7IFwKKysJZWxzZSBcCisrCQllcnIoUywgRiwgIyNfX1ZBX0FSR1NfXyk7IFwKKyt9IHdoaWxlKDApCisrCisrI2RlZmluZSBlcnJvciBfd2VzdG9uX2Vycm9yCisrI2VuZGlmCisrCisrI2VuZGlmCisrCitkaWZmIC0tZ2l0IGEvc3JjL3dlc3Rvbi1sYXVuY2guYyBiL3NyYy93ZXN0b24tbGF1bmNoLmMKK2luZGV4IDEwYzY2ZGUuLjNlNmQzMGEgMTAwNjQ0CistLS0gYS9zcmMvd2VzdG9uLWxhdW5jaC5jCisrKysgYi9zcmMvd2VzdG9uLWxhdW5jaC5jCitAQCAtMzAsNyArMzAsNiBAQAorICNpbmNsdWRlIDxwb2xsLmg+CisgI2luY2x1ZGUgPGVycm5vLmg+CisgCistI2luY2x1ZGUgPGVycm9yLmg+CisgI2luY2x1ZGUgPGdldG9wdC5oPgorIAorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KK0BAIC01Niw2ICs1NSw3IEBACisgI2VuZGlmCisgCisgI2luY2x1ZGUgIndlc3Rvbi1sYXVuY2guaCIKKysjaW5jbHVkZSAid2VzdG9uLWVycm9yLmgiCisgCisgI2RlZmluZSBEUk1fTUFKT1IgMjI2CisgCistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dlc3Rvbi9kaXNhYmxlLXdheWxhbmQtc2Nhbm5lci1wa2ctY2hlY2sucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93ZXN0b24vZGlzYWJsZS13YXlsYW5kLXNjYW5uZXItcGtnLWNoZWNrLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4YmEzOGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93ZXN0b24vZGlzYWJsZS13YXlsYW5kLXNjYW5uZXItcGtnLWNoZWNrLnBhdGNoCkBAIC0wLDAgKzEsMTcgQEAKK0luZGV4OiBnaXQvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvY29uZmlndXJlLmFjCisrKysgZ2l0L2NvbmZpZ3VyZS5hYworQEAgLTUwMSwxMiArNTAxLDYgQEAgaWYgdGVzdCAieCRoYXZlX2xjbXMiID0geHllczsgdGhlbgorIGZpCisgQU1fQ09ORElUSU9OQUwoSEFWRV9MQ01TLCBbdGVzdCAieCRoYXZlX2xjbXMiID0geHllc10pCisgCistQUNfUEFUSF9QUk9HKFt3YXlsYW5kX3NjYW5uZXJdLCBbd2F5bGFuZC1zY2FubmVyXSkKKy1pZiB0ZXN0IHgkd2F5bGFuZF9zY2FubmVyID0geDsgdGhlbgorLQlQS0dfQ0hFQ0tfTU9EVUxFUyhXQVlMQU5EX1NDQU5ORVIsIFt3YXlsYW5kLXNjYW5uZXJdKQorLQl3YXlsYW5kX3NjYW5uZXI9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9d2F5bGFuZF9zY2FubmVyIHdheWxhbmQtc2Nhbm5lcmAKKy1maQorLQorIEFDX0NPTkZJR19GSUxFUyhbTWFrZWZpbGUgc3JjL3ZlcnNpb24uaCBzcmMvd2VzdG9uLnBjXSkKKyAKKyBBTV9DT05ESVRJT05BTChbSEFWRV9HSVRfUkVQT10sIFt0ZXN0IC1mICRzcmNkaXIvLmdpdC9sb2dzL0hFQURdKQpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2VzdG9uL21ha2UtbGNtcy1leHBsaWNpdGx5LWNvbmZpZ3VyYWJsZS5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dlc3Rvbi9tYWtlLWxjbXMtZXhwbGljaXRseS1jb25maWd1cmFibGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzVlNmQ2ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dlc3Rvbi9tYWtlLWxjbXMtZXhwbGljaXRseS1jb25maWd1cmFibGUucGF0Y2gKQEAgLTAsMCArMSw0MyBAQAord2VzdG9uLTEuNS4wL2NvbmZpZ3VyZS5hYzogbWFrZSBsY21zIGV4cGxpY2l0bHkgY29uZmlndXJhYmxlCisKK1RoZSBsY21zIHBhY2thZ2UgaXMgb3V0c2lkZSBvZiBvcGVuZW1iZWRkZWQtY29yZSwgc28gbWFrZSBpdAorZXhwbGljaXRseSBjb25maWd1cmFibGUuIE1ha2UgaXQgZGV0ZXJtaW5pc3RpYywgc28gdGhhdCBpZiBsY21zCitkZXBlbmRlbmNpZXMgYXJlIG1pc3NpbmcsIGF1dG9jb25mIHRocm93cyBhIGZhdGFsIGVycm9yLiBGb2xsb3cKK3Vwc3RyZWFtIHN0eWxlIHRvIG1ha2UgaXQgbW9yZSBsaWtlbHkgdG8gYmUgbWVyZ2VkLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworSW5kZXg6IHdlc3Rvbi0xLjUuMC9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB3ZXN0b24tMS41LjAub3JpZy9jb25maWd1cmUuYWMKKysrKyB3ZXN0b24tMS41LjAvY29uZmlndXJlLmFjCitAQCAtNDkxLDEyICs0OTEsMjQgQEAgQUNfQVJHX0VOQUJMRShkZW1vLWNsaWVudHMtaW5zdGFsbCwKKyAJCQkgICAgIGVuYWJsZV9kZW1vX2NsaWVudHNfaW5zdGFsbD1ubykKKyBBTV9DT05ESVRJT05BTChJTlNUQUxMX0RFTU9fQ0xJRU5UUywgW3Rlc3QgIngkZW5hYmxlX2RlbW9fY2xpZW50c19pbnN0YWxsIiA9ICJ4eWVzIl0pCisgCistUEtHX0NIRUNLX01PRFVMRVMoTENNUywgbGNtczIsCistICAgICAgICAgICAgICAgICAgW2hhdmVfbGNtcz15ZXNdLCBbaGF2ZV9sY21zPW5vXSkKKy1pZiB0ZXN0ICJ4JGhhdmVfbGNtcyIgPSB4eWVzOyB0aGVuCistICAgICAgIEFDX0RFRklORShIQVZFX0xDTVMsIDEsIFtIYXZlIGxjbXMgc3VwcG9ydF0pCisrQUNfQVJHX0VOQUJMRShsY21zLAorKyAgICAgICAgICAgICAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1sY21zXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEaXNhYmxlIGxjbXMgc3VwcG9ydF0pLCwKKysgICAgICAgICAgICAgIGVuYWJsZV9sY21zPWF1dG8pCisrQU1fQ09ORElUSU9OQUwoSEFWRV9MQ01TLCBbdGVzdCAieCRlbmFibGVfbGNtcyIgPSB4eWVzXSkKKytpZiB0ZXN0ICJ4JGVuYWJsZV9sY21zIiAhPSAieG5vIjsgdGhlbgorKyAgICAgICAgUEtHX0NIRUNLX01PRFVMRVMoTENNUywgCisrICAgICAgICAgICAgICAgICAgICAgICAgIGxjbXMyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICBbaGF2ZV9sY21zPXllc10sCisrICAgICAgICAgICAgICAgICAgICAgICAgIFtoYXZlX2xjbXM9bm9dKQorKyAgICAgICAgaWYgdGVzdCAieCRoYXZlX2xjbXMiID0gInhubyIgLWEgIngkZW5hYmxlX2xjbXMiID0gInh5ZXMiOyB0aGVuCisrICAgICAgICAgIEFDX01TR19FUlJPUihbbGNtcyBzdXBwb3J0IGV4cGxpY2l0bHkgcmVxdWVzdGVkLCBidXQgbGNtcyBjb3VsZG4ndCBiZSBmb3VuZF0pCisrICAgICAgICBmaQorKyAgICAgICAgaWYgdGVzdCAieCRoYXZlX2xjbXMiID0gInh5ZXMiOyB0aGVuCisrICAgICAgICAgICAgICAgIGVuYWJsZV9sY21zPXllcworKyAgICAgICAgICAgICAgICBBQ19ERUZJTkUoSEFWRV9MQ01TLCAxLCBbSGF2ZSBsY21zIHN1cHBvcnRdKQorKyAgICAgICAgZmkKKyBmaQorLUFNX0NPTkRJVElPTkFMKEhBVkVfTENNUywgW3Rlc3QgIngkaGF2ZV9sY21zIiA9IHh5ZXNdKQorIAorIEFDX1BBVEhfUFJPRyhbd2F5bGFuZF9zY2FubmVyXSwgW3dheWxhbmQtc2Nhbm5lcl0pCisgaWYgdGVzdCB4JHdheWxhbmRfc2Nhbm5lciA9IHg7IHRoZW4KZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dlc3Rvbi9tYWtlLWxpYndlYnAtZXhwbGljaXRseS1jb25maWd1cmFibGUucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93ZXN0b24vbWFrZS1saWJ3ZWJwLWV4cGxpY2l0bHktY29uZmlndXJhYmxlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkMDdkNGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93ZXN0b24vbWFrZS1saWJ3ZWJwLWV4cGxpY2l0bHktY29uZmlndXJhYmxlLnBhdGNoCkBAIC0wLDAgKzEsMzcgQEAKKworVGhlIGxpYndlYnAgcGFja2FnZSBpcyBvdXRzaWRlIG9mIG9wZW5lbWJlZGRlZC1jb3JlLCBzbyBtYWtlIGl0CitleHBsaWNpdGx5IGNvbmZpZ3VyYWJsZS4gTWFrZSBpdCBkZXRlcm1pbmlzdGljLCBzbyB0aGF0IGlmIGxpYndlYnAgCitkZXBlbmRlbmNpZXMgYXJlIG1pc3NpbmcsIGF1dG9jb25mIHRocm93cyBhIGZhdGFsIGVycm9yLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworSW5kZXg6IHdlc3Rvbi0xLjUuMC9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB3ZXN0b24tMS41LjAub3JpZy9jb25maWd1cmUuYWMKKysrKyB3ZXN0b24tMS41LjAvY29uZmlndXJlLmFjCitAQCAtMjY4LDkgKzI2OCwyMiBAQCBmaQorIAorIFBLR19DSEVDS19NT0RVTEVTKFBJWE1BTiwgW3BpeG1hbi0xXSkKKyBQS0dfQ0hFQ0tfTU9EVUxFUyhQTkcsIFtsaWJwbmddKQorLVBLR19DSEVDS19NT0RVTEVTKFdFQlAsIFtsaWJ3ZWJwXSwgW2hhdmVfd2VicD15ZXNdLCBbaGF2ZV93ZWJwPW5vXSkKKy1BU19JRihbdGVzdCAieCRoYXZlX3dlYnAiID0gInh5ZXMiXSwKKy0gICAgICBbQUNfREVGSU5FKFtIQVZFX1dFQlBdLCBbMV0sIFtIYXZlIHdlYnBdKV0pCisrQUNfQVJHX0VOQUJMRSh3ZWJwLAorKyAgICAgICAgICAgICAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS13ZWJwXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtEaXNhYmxlIGxpYndlYnAgc3VwcG9ydF0pLCwKKysgICAgICAgICAgICAgIGVuYWJsZV93ZWJwPWF1dG8pCisrQU1fQ09ORElUSU9OQUwoSEFWRV9XRUJQLCBbdGVzdCAieCRlbmFibGVfd2VicCIgPSB4eWVzXSkKKytBU19JRihbdGVzdCAieCRlbmFibGVfd2VicCIgIT0gInhubyJdLAorKyAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhXRUJQLAorKyAgICAgICAgICAgICAgICAgICAgIFtsaWJ3ZWJwXSwKKysgICAgICAgICAgICAgICAgICAgICBbaGF2ZV93ZWJwPXllc10sCisrICAgICAgICAgICAgICAgICAgICAgW2hhdmVfd2VicD1ub10pCisrICAgIEFTX0lGKFt0ZXN0ICJ4JGhhdmVfd2VicCIgPSAieG5vIiAtYSAieCRlbmFibGVfd2VicCIgPSAieHllcyJdLAorKyAgICAgICAgQUNfTVNHX0VSUk9SKFtsaWJ3ZWJwIHN1cHBvcnQgZXhwbGljaXRseSByZXF1ZXN0LCBidXQgbGlwd2VicCBjb3VsZCBub3QgYmUgZm91bmRdKSkKKysgICAgQVNfSUYoW3Rlc3QgIngkaGF2ZV93ZWJwIiA9ICJ4eWVzIl0sCisrICAgICAgICBbZW5hYmxlX3dlYnA9eWVzXQorKyAgICAgICAgW0FDX0RFRklORShbSEFWRV9XRUJQXSwgWzFdLCBbSGF2ZSB3ZWJwXSldKQorKykKKyAKKyBBQ19BUkdfRU5BQkxFKHZhYXBpLXJlY29yZGVyLCBbICAtLWVuYWJsZS12YWFwaS1yZWNvcmRlcl0sLAorIAkgICAgICBlbmFibGVfdmFhcGlfcmVjb3JkZXI9YXV0bykKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dlc3Rvbi9wYXJhbGxlbG1ha2UucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93ZXN0b24vcGFyYWxsZWxtYWtlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyYjVlZmIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93ZXN0b24vcGFyYWxsZWxtYWtlLnBhdGNoCkBAIC0wLDAgKzEsNDAgQEAKK0JhY2twb3J0IHR3byBwYXRjaGVzIGZyb20gdXBzdHJlYW0gdG8gZml4IHBhcmFsbGVsIGJ1aWxkcworCistIG1rZGlyIHJhY2VzICgyZWZmMjJiOGU2ZjZlNTI1NWExOTE1YzMzZGZkOTFjZWNmMDJjYmJjKQorLSB3ZXN0b24uZGVza3RvcCByYWNlICgzMTU0NzZmYTdiMWYxYzQ0YzFiMzUxMTYwMzZkZjU0YWM1Y2I5YTAzKQorCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuYW0gYi9NYWtlZmlsZS5hbQoraW5kZXggNTgxOWIxOS4uZmYxM2IxOSAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAgLTIwLDcgKzIwLDcgQEAgd2VzdG9uLmluaSA6ICQoc3JjZGlyKS93ZXN0b24uaW5pLmluCisgCQkkPCA+ICRACisgCisgaXZpLXNoZWxsL3dlc3Rvbi5pbmkgOiAkKHNyY2RpcikvaXZpLXNoZWxsL3dlc3Rvbi5pbmkuaW4KKy0JJChBTV9WX0dFTikkKFNFRCkgXAorKwkkKEFNX1ZfR0VOKSQoTUtESVJfUCkgJChkaXIgJEApICYmICQoU0VEKSBcCisgCQktZSAnc3xAYmluZGlyW0BdfCQoYmluZGlyKXxnJyBcCisgCQktZSAnc3xAYWJzX3RvcF9idWlsZGRpcltAXXwkKGFic190b3BfYnVpbGRkaXIpfGcnIFwKKyAJCS1lICdzfEBhYnNfdG9wX3NyY2RpcltAXXwkKGFic190b3Bfc3JjZGlyKXxnJyBcCitAQCAtMjksNyArMjksNyBAQCBpdmktc2hlbGwvd2VzdG9uLmluaSA6ICQoc3JjZGlyKS9pdmktc2hlbGwvd2VzdG9uLmluaS5pbgorIAkJJDwgPiAkQAorIAorIHRlc3RzL3dlc3Rvbi1pdmkuaW5pIDogJChzcmNkaXIpL2l2aS1zaGVsbC93ZXN0b24uaW5pLmluCistCSQoQU1fVl9HRU4pJChTRUQpIFwKKysJJChBTV9WX0dFTikkKE1LRElSX1ApICQoZGlyICRAKSAmJiAkKFNFRCkgXAorIAkJLWUgJ3N8QGJpbmRpcltAXXwkKGJpbmRpcil8ZycgXAorIAkJLWUgJ3N8QGFic190b3BfYnVpbGRkaXJbQF18JChhYnNfdG9wX2J1aWxkZGlyKXxnJyBcCisgCQktZSAnc3xAYWJzX3RvcF9zcmNkaXJbQF18JChhYnNfdG9wX3NyY2Rpcil8ZycgXAorQEAgLTE3OSw4ICsxNzksNyBAQCBwa2djb25maWdkaXIgPSAkKGxpYmRpcikvcGtnY29uZmlnCisgcGtnY29uZmlnX0RBVEEgPSBzcmMvd2VzdG9uLnBjCisgCisgd2F5bGFuZF9zZXNzaW9uZGlyID0gJChkYXRhZGlyKS93YXlsYW5kLXNlc3Npb25zCistd2F5bGFuZF9zZXNzaW9uX0RBVEEgPSBzcmMvd2VzdG9uLmRlc2t0b3AKKy1kaXN0X3dheWxhbmRfc2Vzc2lvbl9EQVRBID0gJCh3YXlsYW5kX3Nlc3Npb25fREFUQSkKKytkaXN0X3dheWxhbmRfc2Vzc2lvbl9EQVRBID0gc3JjL3dlc3Rvbi5kZXNrdG9wCisgCisgd2VzdG9uaW5jbHVkZWRpciA9ICQoaW5jbHVkZWRpcikvd2VzdG9uCisgd2VzdG9uaW5jbHVkZV9IRUFERVJTID0JCQkJXApkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2VzdG9uL3dlc3Rvbi5kZXNrdG9wIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3dheWxhbmQvd2VzdG9uL3dlc3Rvbi5kZXNrdG9wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwODZhZTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93ZXN0b24vd2VzdG9uLmRlc2t0b3AKQEAgLTAsMCArMSw5IEBACitbRGVza3RvcCBFbnRyeV0KK0VuY29kaW5nPVVURi04CitUeXBlPUFwcGxpY2F0aW9uCitOYW1lPVdlc3RvbgorQ29tbWVudD1XYXlsYW5kIENvbXBvc3RpdG9yCitFeGVjPXdlc3RvbgorSWNvbj13ZXN0b24KK1Rlcm1pbmFsPWZhbHNlCitDYXRlZ29yaWVzPVV0aWxpdHk7CmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93ZXN0b24vd2VzdG9uLnBuZyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dlc3Rvbi93ZXN0b24ucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhOGI3ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93ZXN0b24vd2VzdG9uLnBuZwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93ZXN0b25fMS44LjAuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3Mvd2F5bGFuZC93ZXN0b25fMS44LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQyYzYwNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy93YXlsYW5kL3dlc3Rvbl8xLjguMC5iYgpAQCAtMCwwICsxLDk0IEBACitTVU1NQVJZID0gIldlc3RvbiwgYSBXYXlsYW5kIGNvbXBvc2l0b3IiCitERVNDUklQVElPTiA9ICJXZXN0b24gaXMgdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBvZiBhIFdheWxhbmQgY29tcG9zaXRvciIKK0hPTUVQQUdFID0gImh0dHA6Ly93YXlsYW5kLmZyZWVkZXNrdG9wLm9yZyIKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9Mjc1ZWZhYzI1NTlhMjI0NTI3YmQ0ZmQ1OTNkMzg0NjYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2NvbXBvc2l0b3IuYztlbmRsaW5lPTIzO21kNT1hOTc5M2YxZWRjOGQxYTRjMzQ0Y2E4YWUyNTIzNTJmYiIKKworU1JDX1VSSSA9ICJodHRwOi8vd2F5bGFuZC5mcmVlZGVza3RvcC5vcmcvcmVsZWFzZXMvJHtCUE59LSR7UFZ9LnRhci54eiBcCisgICAgICAgICAgIGZpbGU6Ly93ZXN0b24ucG5nIFwKKyAgICAgICAgICAgZmlsZTovL3dlc3Rvbi5kZXNrdG9wIFwKKyAgICAgICAgICAgZmlsZTovL21ha2UtbGNtcy1leHBsaWNpdGx5LWNvbmZpZ3VyYWJsZS5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9tYWtlLWxpYndlYnAtZXhwbGljaXRseS1jb25maWd1cmFibGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1tYWtlLWVycm9yLXBvcnRhYmxlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3BhcmFsbGVsbWFrZS5wYXRjaCBcCisiCitTUkNfVVJJW21kNXN1bV0gPSAiMjRjYjhhN2VkMDUzNWI0ZmMzNjQyNjQzOTg4ZGFiMzYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODk2M2U2OWYzMjhlODE1Y2VjNDJjNTgwNDZjNGFmNzIxNDc2Yzc1NDFiYjdkOWVkYzcxNzQwZmFkYTVhZDMxMiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHVzZXJhZGQKKworREVQRU5EUyA9ICJsaWJ4a2Jjb21tb24gZ2RrLXBpeGJ1ZiBwaXhtYW4gY2Fpcm8gZ2xpYi0yLjAganBlZyIKK0RFUEVORFMgKz0gIndheWxhbmQgbGliaW5wdXQgdmlydHVhbC9lZ2wgcGFuZ28iCisKK0VYVFJBX09FQ09ORiA9ICItLWVuYWJsZS1zZXR1aWQtaW5zdGFsbCBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXh3YXlsYW5kIFwKKyAgICAgICAgICAgICAgICAtLWVuYWJsZS1zaW1wbGUtY2xpZW50cyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtY2xpZW50cyBcCisgICAgICAgICAgICAgICAgLS1lbmFibGUtZGVtby1jbGllbnRzLWluc3RhbGwgXAorICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1ycGktY29tcG9zaXRvciBcCisgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXJkcC1jb21wb3NpdG9yIFwKKyAgICAgICAgICAgICAgICAiCisKK0VYVFJBX09FQ09ORl9hcHBlbmRfcWVtdXg4NiA9ICJcCisJCVdFU1RPTl9OQVRJVkVfQkFDS0VORD1mYmRldi1iYWNrZW5kLnNvIFwKKwkJIgorRVhUUkFfT0VDT05GX2FwcGVuZF9xZW11eDg2LTY0ID0gIlwKKwkJV0VTVE9OX05BVElWRV9CQUNLRU5EPWZiZGV2LWJhY2tlbmQuc28gXAorCQkiCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd3YXlsYW5kJywgJ2ttcyBmYmRldiB3YXlsYW5kIGVnbCcsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAneDExJywgJ3gxMScsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAncGFtJywgJ2xhdW5jaCcsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgIgorIworIyBDb21wb3NpdG9yIGNob2ljZXMKKyMKKyMgV2VzdG9uIG9uIEtNUworUEFDS0FHRUNPTkZJR1trbXNdID0gIi0tZW5hYmxlLWRybS1jb21wb3NpdG9yLC0tZGlzYWJsZS1kcm0tY29tcG9zaXRvcixkcm0gdWRldiB2aXJ0dWFsL21lc2EgbXRkZXYiCisjIFdlc3RvbiBvbiBXYXlsYW5kIChuZXN0ZWQgV2VzdG9uKQorUEFDS0FHRUNPTkZJR1t3YXlsYW5kXSA9ICItLWVuYWJsZS13YXlsYW5kLWNvbXBvc2l0b3IsLS1kaXNhYmxlLXdheWxhbmQtY29tcG9zaXRvcix2aXJ0dWFsL21lc2EiCisjIFdlc3RvbiBvbiBYMTEKK1BBQ0tBR0VDT05GSUdbeDExXSA9ICItLWVuYWJsZS14MTEtY29tcG9zaXRvciwtLWRpc2FibGUteDExLWNvbXBvc2l0b3IsdmlydHVhbC9saWJ4MTEgbGlieGNiIGxpYnhjYiBsaWJ4Y3Vyc29yIGNhaXJvIgorIyBIZWFkbGVzcyBXZXN0b24KK1BBQ0tBR0VDT05GSUdbaGVhZGxlc3NdID0gIi0tZW5hYmxlLWhlYWRsZXNzLWNvbXBvc2l0b3IsLS1kaXNhYmxlLWhlYWRsZXNzLWNvbXBvc2l0b3IiCisjIFdlc3RvbiBvbiBmcmFtZWJ1ZmZlcgorUEFDS0FHRUNPTkZJR1tmYmRldl0gPSAiLS1lbmFibGUtZmJkZXYtY29tcG9zaXRvciwtLWRpc2FibGUtZmJkZXYtY29tcG9zaXRvcix1ZGV2IG10ZGV2IgorIyB3ZXN0b24tbGF1bmNoCitQQUNLQUdFQ09ORklHW2xhdW5jaF0gPSAiLS1lbmFibGUtd2VzdG9uLWxhdW5jaCwtLWRpc2FibGUtd2VzdG9uLWxhdW5jaCxsaWJwYW0gZHJtIgorIyBWQS1BUEkgZGVza3RvcCByZWNvcmRlcgorUEFDS0FHRUNPTkZJR1t2YWFwaV0gPSAiLS1lbmFibGUtdmFhcGktcmVjb3JkZXIsLS1kaXNhYmxlLXZhYXBpLXJlY29yZGVyLGxpYnZhIgorIyBXZXN0b24gd2l0aCBFR0wgc3VwcG9ydAorUEFDS0FHRUNPTkZJR1tlZ2xdID0gIi0tZW5hYmxlLWVnbCAtLWVuYWJsZS1zaW1wbGUtZWdsLWNsaWVudHMsLS1kaXNhYmxlLWVnbCAtLWRpc2FibGUtc2ltcGxlLWVnbC1jbGllbnRzLHZpcnR1YWwvZWdsIgorIyBXZXN0b24gd2l0aCBjYWlybyBnbGVzdjIgc3VwcG9ydAorUEFDS0FHRUNPTkZJR1tjYWlyby1nbGVzdjJdID0gIi0td2l0aC1jYWlyby1nbGVzdjIsLS13aXRoLWNhaXJvPWltYWdlLGNhaXJvIgorIyBXZXN0b24gd2l0aCBsY21zIHN1cHBvcnQKK1BBQ0tBR0VDT05GSUdbbGNtc10gPSAiLS1lbmFibGUtbGNtcywtLWRpc2FibGUtbGNtcyxsY21zIgorIyBXZXN0b24gd2l0aCB3ZWJwIHN1cHBvcnQKK1BBQ0tBR0VDT05GSUdbd2VicF0gPSAiLS1lbmFibGUtd2VicCwtLWRpc2FibGUtd2VicCxsaWJ3ZWJwIgorIyBXZXN0b24gd2l0aCB1bndpbmRpbmcgc3VwcG9ydAorUEFDS0FHRUNPTkZJR1tsaWJ1bndpbmRdID0gIi0tZW5hYmxlLWxpYnVud2luZCwtLWRpc2FibGUtbGlidW53aW5kLGxpYnVud2luZCIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJIyBXZXN0b24gZG9lc24ndCBuZWVkIHRoZSAubGEgZmlsZXMgdG8gbG9hZCBtb2R1bGVzLCBzbyB3aXBlIHRoZW0KKwlybSAtZiAke0R9LyR7bGliZGlyfS93ZXN0b24vKi5sYQorCisJIyBJZiBYMTEsIHNoaXAgYSBkZXNrdG9wIGZpbGUgdG8gbGF1bmNoIGl0CisJaWYgWyAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICd4MTEnLCAneDExJywgJycsIGQpfSIgPSAieDExIiBdOyB0aGVuCisJCWluc3RhbGwgLWQgJHtEfSR7ZGF0YWRpcn0vYXBwbGljYXRpb25zCisJCWluc3RhbGwgJHtXT1JLRElSfS93ZXN0b24uZGVza3RvcCAke0R9JHtkYXRhZGlyfS9hcHBsaWNhdGlvbnMKKworCQlpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L2ljb25zL2hpY29sb3IvNDh4NDgvYXBwcworCQlpbnN0YWxsICR7V09SS0RJUn0vd2VzdG9uLnBuZyAke0R9JHtkYXRhZGlyfS9pY29ucy9oaWNvbG9yLzQ4eDQ4L2FwcHMKKyAgICAgICAgZmkKK30KKworUEFDS0FHRVMgKz0gIiR7UE59LWV4YW1wbGVzIgorCitGSUxFU18ke1BOfSA9ICIke2JpbmRpcn0vd2VzdG9uICR7YmluZGlyfS93ZXN0b24tdGVybWluYWwgJHtiaW5kaXJ9L3dlc3Rvbi1pbmZvICR7YmluZGlyfS93ZXN0b24tbGF1bmNoICR7YmluZGlyfS93Y2FwLWRlY29kZSAke2xpYmV4ZWNkaXJ9ICR7bGliZGlyfS8ke0JQTn0vKi5zbyAke2RhdGFkaXJ9IgorRklMRVNfJHtQTn0tZXhhbXBsZXMgPSAiJHtiaW5kaXJ9LyoiCisKK1JERVBFTkRTXyR7UE59ICs9ICJ4a2V5Ym9hcmQtY29uZmlnIgorUlJFQ09NTUVORFNfJHtQTn0gPSAibGliZXJhdGlvbi1mb250cyIKKworVVNFUkFERF9QQUNLQUdFUyA9ICIke1BOfSIKK0dST1VQQUREX1BBUkFNXyR7UE59ID0gIi0tc3lzdGVtIHdlc3Rvbi1sYXVuY2giCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExLWNvbW1vbi94MTEtY29tbW9uL2V0Yy9YMTEvWGRlZmF1bHRzIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3gxMS1jb21tb24veDExLWNvbW1vbi9ldGMvWDExL1hkZWZhdWx0cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNWI2OWRkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3gxMS1jb21tb24veDExLWNvbW1vbi9ldGMvWDExL1hkZWZhdWx0cwpAQCAtMCwwICsxLDMgQEAKK1J4dnQqc2Nyb2xsQmFyX3JpZ2h0OiB0cnVlCitSeHZ0KmZvbnQ6IHhmdDpNb25vOnBpeGVsc2l6ZT05CisKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94MTEtY29tbW9uL3gxMS1jb21tb24vZXRjL1gxMS9Yc2VydmVyIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3gxMS1jb21tb24veDExLWNvbW1vbi9ldGMvWDExL1hzZXJ2ZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM1NzBkZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94MTEtY29tbW9uL3gxMS1jb21tb24vZXRjL1gxMS9Yc2VydmVyCkBAIC0wLDAgKzEsMTIgQEAKKyMhL2Jpbi9zaAorIworCitYU0VSVkVSPS91c3IvYmluL1hvcmcKKworLiAvZXRjL3Byb2ZpbGUKKworQVJHUz0iIC1iciAtcG4iCisKK0RJU1BMQVk9JzowJworCitleGVjIHhpbml0IC9ldGMvWDExL1hzZXNzaW9uIC0tICRYU0VSVkVSICRESVNQTEFZICRBUkdTICQqCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExLWNvbW1vbi94MTEtY29tbW9uL2V0Yy9YMTEvWHNlc3Npb24gYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExLWNvbW1vbi94MTEtY29tbW9uL2V0Yy9YMTEvWHNlc3Npb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGI3MzEyNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94MTEtY29tbW9uL3gxMS1jb21tb24vZXRjL1gxMS9Yc2Vzc2lvbgpAQCAtMCwwICsxLDM4IEBACisjIS9iaW4vc2gKKworaWYgWyAteCAvdXNyL2Jpbi9kYnVzLWxhdW5jaCBdOyB0aGVuCisgICAgIyBBcyB0aGlzIGlzIHRoZSBYIHNlc3Npb24gc2NyaXB0LCBhbHdheXMgc3RhcnQgYSBuZXcgREJ1cyBzZXNzaW9uLgorICAgIGV2YWwgYGRidXMtbGF1bmNoIC0tc2gtc3ludGF4IC0tZXhpdC13aXRoLXNlc3Npb24gPC9kZXYvbnVsbGAKKyAgICBlY2hvICJELUJVUyBwZXItc2Vzc2lvbiBkYWVtb24gYWRkcmVzcyBpczogJERCVVNfU0VTU0lPTl9CVVNfQUREUkVTUyIKK2ZpCisKKy4gL2V0Yy9wcm9maWxlCisKK2lmIFsgLWYgJEhPTUUvLnByb2ZpbGUgXTsgdGhlbgorICAgIC4gJEhPTUUvLnByb2ZpbGUKK2ZpCisKK1NZU1NFU1NJT05ESVI9L2V0Yy9YMTEvWHNlc3Npb24uZAorCitleHBvcnQgQ0xVVFRFUl9ESVNBQkxFX01JUE1BUFBFRF9URVhUPTEKKworZm9yIFNFU1NJT05GSUxFIGluICRTWVNTRVNTSU9ORElSLyo7IGRvCisgICAgc2V0ICtlCisgICAgY2FzZSAiJFNFU1NJT05GSUxFIiBpbgorICAgICAgICAqLnNoKQorICAgICAgICAgICAgLiAiJFNFU1NJT05GSUxFIgorICAgICAgICAgICAgOzsKKyAgICAgICAgKi5zaGJnKQorICAgICAgICAgICAgIiRTRVNTSU9ORklMRSIgJgorICAgICAgICAgICAgOzsKKyAgICAgICAgKn4pCisgICAgICAgICAgICAjIElnbm9yZSBiYWNrdXAgZmlsZXMKKyAgICAgICAgICAgIDs7CisgICAgICAgICopCisgICAgICAgICAgICAiJFNFU1NJT05GSUxFIgorICAgICAgICAgICAgOzsKKyAgICBlc2FjCisgICAgc2V0IC1lCitkb25lCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3gxMS1jb21tb24veDExLWNvbW1vbi9ldGMvWDExL1hzZXNzaW9uLmQvMTJrZXltYXAuc2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExLWNvbW1vbi94MTEtY29tbW9uL2V0Yy9YMTEvWHNlc3Npb24uZC8xMmtleW1hcC5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWQxMDJjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3gxMS1jb21tb24veDExLWNvbW1vbi9ldGMvWDExL1hzZXNzaW9uLmQvMTJrZXltYXAuc2gKQEAgLTAsMCArMSw0IEBACisjIS9iaW4vc2gKKworIyBrZHJpdmUgMS40IGRvZXMgbm90IGhhdmUgZGVmYXVsdCBrZXltYXAgaW4gc2VydmVyCisjeG1vZG1hcCAtIDwvZXRjL1gxMS9kZWZhdWx0Lnhtb2RtYXAKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94MTEtY29tbW9uL3gxMS1jb21tb24vZXRjL1gxMS9Yc2Vzc2lvbi5kLzEzeGRnYmFzZWRpcnMuc2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExLWNvbW1vbi94MTEtY29tbW9uL2V0Yy9YMTEvWHNlc3Npb24uZC8xM3hkZ2Jhc2VkaXJzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxNTk0YjkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExLWNvbW1vbi94MTEtY29tbW9uL2V0Yy9YMTEvWHNlc3Npb24uZC8xM3hkZ2Jhc2VkaXJzLnNoCkBAIC0wLDAgKzEsMTMgQEAKKyMgTWluaW1hbC9zdHViIGltcGxlbWVudGF0aW9uIG9mIHRoZSBYREcgQmFzZSBEaXJlY3Rvcnkgc3BlY2lmaWNhdGlvbi4KKyMgaHR0cDovL3N0YW5kYXJkcy5mcmVlZGVza3RvcC5vcmcvYmFzZWRpci1zcGVjL2Jhc2VkaXItc3BlYy1sYXRlc3QuaHRtbAorIworIyBXYXlsYW5kIG5lZWRzIFhER19SVU5USU1FX0RJUiwgc28gc2V0IGl0IHRvIC90bXAuICBUaGlzIGlzbid0IGNvbXBsaWFudCB3aXRoCisjIHRoZSBzcGVjaWZpY2F0aW9uICh3cm9uZyBtb2RlLCB3cm9uZyBvd25lcikgYnV0IGl0J3MgbW9zdGx5IHN1ZmZpY2llbnQuCisjCisjIEluIHRoZSBpZGVhbCBjYXNlIHdoZXJlIFN5c3RlbUQgaXMgYm9vdGluZyBhbmQgdXNlcnNwYWNlIGlzIGluaXRpYXRlZCBieSBhCisjIFN5c3RlbUQgdXNlciBzZXNzaW9uIHRoaXMgd2lsbCBoYXZlIGJlZW4gc2V0IGFscmVhZHksIHNvIGRvbid0IG92ZXJ3cml0ZSBpdC4KKworaWYgWyAteiAiJFhHRF9SVU5USU1FX0RJUiIgXTsgdGhlbgorCVhER19SVU5USU1FX0RJUj0iL3RtcCIKKyAgICAgICAgZXhwb3J0IFhER19SVU5USU1FX0RJUgorZmkKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94MTEtY29tbW9uL3gxMS1jb21tb24vZXRjL1gxMS9Yc2Vzc2lvbi5kLzg5eGRnYXV0b3N0YXJ0LnNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3gxMS1jb21tb24veDExLWNvbW1vbi9ldGMvWDExL1hzZXNzaW9uLmQvODl4ZGdhdXRvc3RhcnQuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Q3MDA4YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94MTEtY29tbW9uL3gxMS1jb21tb24vZXRjL1gxMS9Yc2Vzc2lvbi5kLzg5eGRnYXV0b3N0YXJ0LnNoCkBAIC0wLDAgKzEsNyBAQAorWERHQVVUT1NUQVJUPS9ldGMveGRnL2F1dG9zdGFydAoraWYgWyAtZCAkWERHQVVUT1NUQVJUIF07IHRoZW4KKyAgICBmb3IgU0NSSVBUIGluICRYREdBVVRPU1RBUlQvKjsgZG8KKyAgICAgICAgQ01EPWBncmVwIF5FeGVjPSAkU0NSSVBUIHwgY3V0IC1kICc9JyAtZiAyYAorICAgICAgICAkQ01EICYKKyAgICBkb25lCitmaQpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3gxMS1jb21tb24veDExLWNvbW1vbi9ldGMvWDExL1hzZXNzaW9uLmQvOTBYV2luZG93TWFuYWdlci5zaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94MTEtY29tbW9uL3gxMS1jb21tb24vZXRjL1gxMS9Yc2Vzc2lvbi5kLzkwWFdpbmRvd01hbmFnZXIuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjkzNmRlZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94MTEtY29tbW9uL3gxMS1jb21tb24vZXRjL1gxMS9Yc2Vzc2lvbi5kLzkwWFdpbmRvd01hbmFnZXIuc2gKQEAgLTAsMCArMSw3IEBACitpZiBbIC14ICRIT01FLy5Yc2Vzc2lvbiBdOyB0aGVuCisgICAgZXhlYyAkSE9NRS8uWHNlc3Npb24KK2VsaWYgWyAteCAvdXNyL2Jpbi94LXNlc3Npb24tbWFuYWdlciBdOyB0aGVuCisgICAgZXhlYyAvdXNyL2Jpbi94LXNlc3Npb24tbWFuYWdlcgorZWxzZQorICAgIGV4ZWMgL3Vzci9iaW4veC13aW5kb3ctbWFuYWdlcgorZmkKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94MTEtY29tbW9uL3gxMS1jb21tb24vZXRjL1gxMS9kZWZhdWx0Lnhtb2RtYXAgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExLWNvbW1vbi94MTEtY29tbW9uL2V0Yy9YMTEvZGVmYXVsdC54bW9kbWFwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1YTEzZmEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExLWNvbW1vbi94MTEtY29tbW9uL2V0Yy9YMTEvZGVmYXVsdC54bW9kbWFwCkBAIC0wLDAgKzEsMjYwIEBACitrZXljb2RlICAgOCA9CitrZXljb2RlICAgOSA9IEVzY2FwZQora2V5Y29kZSAgMTAgPSAxIGV4Y2xhbQora2V5Y29kZSAgMTEgPSAyIGF0CitrZXljb2RlICAxMiA9IDMgbnVtYmVyc2lnbgora2V5Y29kZSAgMTMgPSA0IGRvbGxhcgora2V5Y29kZSAgMTQgPSA1IHBlcmNlbnQKK2tleWNvZGUgIDE1ID0gNiBhc2NpaWNpcmN1bQora2V5Y29kZSAgMTYgPSA3IGFtcGVyc2FuZCBicmFjZWxlZnQKK2tleWNvZGUgIDE3ID0gOCBhc3RlcmlzayBicmFja2V0bGVmdAora2V5Y29kZSAgMTggPSA5IHBhcmVubGVmdCBicmFja2V0cmlnaHQKK2tleWNvZGUgIDE5ID0gMCBwYXJlbnJpZ2h0IGJyYWNlcmlnaHQKK2tleWNvZGUgIDIwID0gbWludXMgdW5kZXJzY29yZSBiYWNrc2xhc2gKK2tleWNvZGUgIDIxID0gZXF1YWwgcGx1cwora2V5Y29kZSAgMjIgPSBCYWNrU3BhY2UKK2tleWNvZGUgIDIzID0gVGFiCitrZXljb2RlICAyNCA9IHEgUSBxCitrZXljb2RlICAyNSA9IHcgVyB3CitrZXljb2RlICAyNiA9IGUgRQora2V5Y29kZSAgMjcgPSByIFIgcgora2V5Y29kZSAgMjggPSB0IFQgdAora2V5Y29kZSAgMjkgPSB5IFkgeQora2V5Y29kZSAgMzAgPSB1IFUgdQora2V5Y29kZSAgMzEgPSBpIEkgaQora2V5Y29kZSAgMzIgPSBvIE8gbwora2V5Y29kZSAgMzMgPSBwIFAgcAora2V5Y29kZSAgMzQgPSBicmFja2V0bGVmdCBicmFjZWxlZnQKK2tleWNvZGUgIDM1ID0gYnJhY2tldHJpZ2h0IGJyYWNlcmlnaHQgYXNjaWl0aWxkZQora2V5Y29kZSAgMzYgPSBSZXR1cm4KK2tleWNvZGUgIDM3ID0gQ29udHJvbF9MCitrZXljb2RlICAzOCA9IGEgQQora2V5Y29kZSAgMzkgPSBzIFMgcwora2V5Y29kZSAgNDAgPSBkIEQKK2tleWNvZGUgIDQxID0gZiBGCitrZXljb2RlICA0MiA9IGcgRyBnCitrZXljb2RlICA0MyA9IGggSCBoCitrZXljb2RlICA0NCA9IGogSiBqCitrZXljb2RlICA0NSA9IGsgSyBrCitrZXljb2RlICA0NiA9IGwgTCBsCitrZXljb2RlICA0NyA9IHNlbWljb2xvbiBjb2xvbgora2V5Y29kZSAgNDggPSBhcG9zdHJvcGhlIHF1b3RlZGJsCitrZXljb2RlICA0OSA9IGdyYXZlIGFzY2lpdGlsZGUKK2tleWNvZGUgIDUwID0gU2hpZnRfTAora2V5Y29kZSAgNTEgPSBiYWNrc2xhc2ggYmFyCitrZXljb2RlICA1MiA9IHogWiB6CitrZXljb2RlICA1MyA9IHggWCB4CitrZXljb2RlICA1NCA9IGMgQwora2V5Y29kZSAgNTUgPSB2IFYgdgora2V5Y29kZSAgNTYgPSBiIEIKK2tleWNvZGUgIDU3ID0gbiBOIG4KK2tleWNvZGUgIDU4ID0gbSBNIG0KK2tleWNvZGUgIDU5ID0gY29tbWEgbGVzcwora2V5Y29kZSAgNjAgPSBwZXJpb2QgZ3JlYXRlcgora2V5Y29kZSAgNjEgPSBzbGFzaCBxdWVzdGlvbgora2V5Y29kZSAgNjIgPSBTaGlmdF9SCitrZXljb2RlICA2MyA9IEtQX011bHRpcGx5CitrZXljb2RlICA2NCA9IEFsdF9MCitrZXljb2RlICA2NSA9IHNwYWNlCitrZXljb2RlICA2NiA9IENhcHNfTG9jawora2V5Y29kZSAgNjcgPSBGMSBGMTEKK2tleWNvZGUgIDY4ID0gRjIgRjEyCitrZXljb2RlICA2OSA9IEYzIEYxMwora2V5Y29kZSAgNzAgPSBGNCBGMTQKK2tleWNvZGUgIDcxID0gRjUgRjE1CitrZXljb2RlICA3MiA9IEY2IEYxNgora2V5Y29kZSAgNzMgPSBGNyBGMTcKK2tleWNvZGUgIDc0ID0gRjggRjE4CitrZXljb2RlICA3NSA9IEY5IEYxOQora2V5Y29kZSAgNzYgPSBGMTAgRjIwCitrZXljb2RlICA3NyA9IE51bV9Mb2NrCitrZXljb2RlICA3OCA9IFNjcm9sbF9Mb2NrCitrZXljb2RlICA3OSA9IEtQXzcKK2tleWNvZGUgIDgwID0gS1BfOAora2V5Y29kZSAgODEgPSBLUF85CitrZXljb2RlICA4MiA9IEtQX1N1YnRyYWN0CitrZXljb2RlICA4MyA9IEtQXzQKK2tleWNvZGUgIDg0ID0gS1BfNQora2V5Y29kZSAgODUgPSBLUF82CitrZXljb2RlICA4NiA9IEtQX0FkZAora2V5Y29kZSAgODcgPSBLUF8xCitrZXljb2RlICA4OCA9IEtQXzIKK2tleWNvZGUgIDg5ID0gS1BfMwora2V5Y29kZSAgOTAgPSBLUF8wCitrZXljb2RlICA5MSA9IEtQX0RlY2ltYWwKK2tleWNvZGUgIDkyID0KK2tleWNvZGUgIDkzID0KK2tleWNvZGUgIDk0ID0gbGVzcyBncmVhdGVyIGJhcgora2V5Y29kZSAgOTUgPSBGMTEKK2tleWNvZGUgIDk2ID0gRjEyCitrZXljb2RlICA5NyA9CitrZXljb2RlICA5OCA9CitrZXljb2RlICA5OSA9CitrZXljb2RlIDEwMCA9CitrZXljb2RlIDEwMSA9CitrZXljb2RlIDEwMiA9CitrZXljb2RlIDEwMyA9CitrZXljb2RlIDEwNCA9IEtQX0VudGVyCitrZXljb2RlIDEwNSA9IENvbnRyb2xfUgora2V5Y29kZSAxMDYgPSBLUF9EaXZpZGUKK2tleWNvZGUgMTA3ID0KK2tleWNvZGUgMTA4ID0gTW9kZV9zd2l0Y2gKK2tleWNvZGUgMTA5ID0gQnJlYWsKK2tleWNvZGUgMTEwID0gSG9tZQora2V5Y29kZSAxMTEgPSBVcAora2V5Y29kZSAxMTIgPSBQcmlvcgora2V5Y29kZSAxMTMgPSBMZWZ0CitrZXljb2RlIDExNCA9IFJpZ2h0CitrZXljb2RlIDExNSA9IEVuZAora2V5Y29kZSAxMTYgPSBEb3duCitrZXljb2RlIDExNyA9IE5leHQKK2tleWNvZGUgMTE4ID0gSW5zZXJ0CitrZXljb2RlIDExOSA9IERlbGV0ZQora2V5Y29kZSAxMjAgPSBNZW51CitrZXljb2RlIDEyMSA9IEYxMwora2V5Y29kZSAxMjIgPSBGMTQKK2tleWNvZGUgMTIzID0gSGVscAora2V5Y29kZSAxMjQgPSBFeGVjdXRlCitrZXljb2RlIDEyNSA9IEYxNwora2V5Y29kZSAxMjYgPSBLUF9TdWJ0cmFjdAora2V5Y29kZSAxMjcgPSBQYXVzZQora2V5Y29kZSAxMjggPQora2V5Y29kZSAxMjkgPQora2V5Y29kZSAxMzAgPQora2V5Y29kZSAxMzEgPQora2V5Y29kZSAxMzIgPQora2V5Y29kZSAxMzMgPQora2V5Y29kZSAxMzQgPQora2V5Y29kZSAxMzUgPQora2V5Y29kZSAxMzYgPQora2V5Y29kZSAxMzcgPQora2V5Y29kZSAxMzggPQora2V5Y29kZSAxMzkgPQora2V5Y29kZSAxNDAgPQora2V5Y29kZSAxNDEgPQora2V5Y29kZSAxNDIgPQora2V5Y29kZSAxNDMgPQora2V5Y29kZSAxNDQgPQora2V5Y29kZSAxNDUgPQora2V5Y29kZSAxNDYgPQora2V5Y29kZSAxNDcgPQora2V5Y29kZSAxNDggPQora2V5Y29kZSAxNDkgPQora2V5Y29kZSAxNTAgPQora2V5Y29kZSAxNTEgPQora2V5Y29kZSAxNTIgPQora2V5Y29kZSAxNTMgPQora2V5Y29kZSAxNTQgPQora2V5Y29kZSAxNTUgPQora2V5Y29kZSAxNTYgPQora2V5Y29kZSAxNTcgPQora2V5Y29kZSAxNTggPQora2V5Y29kZSAxNTkgPQora2V5Y29kZSAxNjAgPQora2V5Y29kZSAxNjEgPQora2V5Y29kZSAxNjIgPQora2V5Y29kZSAxNjMgPQora2V5Y29kZSAxNjQgPQora2V5Y29kZSAxNjUgPQora2V5Y29kZSAxNjYgPQora2V5Y29kZSAxNjcgPQora2V5Y29kZSAxNjggPQora2V5Y29kZSAxNjkgPQora2V5Y29kZSAxNzAgPQora2V5Y29kZSAxNzEgPQora2V5Y29kZSAxNzIgPQora2V5Y29kZSAxNzMgPQora2V5Y29kZSAxNzQgPQora2V5Y29kZSAxNzUgPQora2V5Y29kZSAxNzYgPQora2V5Y29kZSAxNzcgPQora2V5Y29kZSAxNzggPQora2V5Y29kZSAxNzkgPQora2V5Y29kZSAxODAgPQora2V5Y29kZSAxODEgPQora2V5Y29kZSAxODIgPQora2V5Y29kZSAxODMgPQora2V5Y29kZSAxODQgPQora2V5Y29kZSAxODUgPQora2V5Y29kZSAxODYgPQora2V5Y29kZSAxODcgPQora2V5Y29kZSAxODggPQora2V5Y29kZSAxODkgPQora2V5Y29kZSAxOTAgPQora2V5Y29kZSAxOTEgPQora2V5Y29kZSAxOTIgPQora2V5Y29kZSAxOTMgPQora2V5Y29kZSAxOTQgPQora2V5Y29kZSAxOTUgPQora2V5Y29kZSAxOTYgPQora2V5Y29kZSAxOTcgPQora2V5Y29kZSAxOTggPQora2V5Y29kZSAxOTkgPQora2V5Y29kZSAyMDAgPQora2V5Y29kZSAyMDEgPQora2V5Y29kZSAyMDIgPQora2V5Y29kZSAyMDMgPQora2V5Y29kZSAyMDQgPQora2V5Y29kZSAyMDUgPQora2V5Y29kZSAyMDYgPQora2V5Y29kZSAyMDcgPQora2V5Y29kZSAyMDggPQora2V5Y29kZSAyMDkgPQora2V5Y29kZSAyMTAgPQora2V5Y29kZSAyMTEgPQora2V5Y29kZSAyMTIgPQora2V5Y29kZSAyMTMgPQora2V5Y29kZSAyMTQgPQora2V5Y29kZSAyMTUgPQora2V5Y29kZSAyMTYgPQora2V5Y29kZSAyMTcgPQora2V5Y29kZSAyMTggPQora2V5Y29kZSAyMTkgPQora2V5Y29kZSAyMjAgPQora2V5Y29kZSAyMjEgPQora2V5Y29kZSAyMjIgPQora2V5Y29kZSAyMjMgPQora2V5Y29kZSAyMjQgPQora2V5Y29kZSAyMjUgPQora2V5Y29kZSAyMjYgPQora2V5Y29kZSAyMjcgPQora2V5Y29kZSAyMjggPQora2V5Y29kZSAyMjkgPQora2V5Y29kZSAyMzAgPQora2V5Y29kZSAyMzEgPQora2V5Y29kZSAyMzIgPQora2V5Y29kZSAyMzMgPQora2V5Y29kZSAyMzQgPQora2V5Y29kZSAyMzUgPQora2V5Y29kZSAyMzYgPQora2V5Y29kZSAyMzcgPQora2V5Y29kZSAyMzggPQora2V5Y29kZSAyMzkgPQora2V5Y29kZSAyNDAgPQora2V5Y29kZSAyNDEgPQora2V5Y29kZSAyNDIgPQora2V5Y29kZSAyNDMgPQora2V5Y29kZSAyNDQgPQora2V5Y29kZSAyNDUgPQora2V5Y29kZSAyNDYgPQora2V5Y29kZSAyNDcgPQora2V5Y29kZSAyNDggPQora2V5Y29kZSAyNDkgPQora2V5Y29kZSAyNTAgPQora2V5Y29kZSAyNTEgPQora2V5Y29kZSAyNTIgPQora2V5Y29kZSAyNTMgPQora2V5Y29kZSAyNTQgPQorCithZGQgc2hpZnQgPSBTaGlmdF9MCithZGQgc2hpZnQgPSBTaGlmdF9SCithZGQgc2hpZnQgPSBNZW51CithZGQgbG9jayA9IENhcHNfTG9jaworYWRkIGNvbnRyb2wgPSBDb250cm9sX0wKK2FkZCBjb250cm9sID0gQ29udHJvbF9SCithZGQgbW9kMSA9IEFsdF9MCithZGQgbW9kMiA9IE51bV9Mb2NrCishbW9kMyAgICAgIAorYWRkIG1vZDQgPSBNb2RlX3N3aXRjaAorIW1vZDUgICAgICAKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3gxMS1jb21tb24veDExLWNvbW1vbi9ncGx2Mi1saWNlbnNlLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3gxMS1jb21tb24veDExLWNvbW1vbi9ncGx2Mi1saWNlbnNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmZjk3NWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExLWNvbW1vbi94MTEtY29tbW9uL2dwbHYyLWxpY2Vuc2UucGF0Y2gKQEAgLTAsMCArMSwzNTUgQEAKK0NPUFlJTkc6IGFkZCBHUEx2MiBsaWNlbnNlIGZpbGUKKwordGhpcyBpcyBhIGxvY2FsIGZpbGUgcmVjaXBlIGFuZCB0aGUgbGljZW5zZSBmaWxlIGlzIG1pc3NpbmcuSW4gb3JkZXIKK3RvIHBhc3MgdGhlIGxpY2Vuc2UgY2hlY2tzdW0gY2hlY2tpbmcsIHRoZSBsaWNlbnNlIGZpbGUgaXMgbmVlZGVkLiBTbwordGhpcyBwYXRjaCBhZGQgdGhlIEdQTHYyIGxpY2Vuc2UgZmlsZS4KKworVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtsaWNlbnNpbmddCisKK1NpZ25lZC1vZmYtYnk6IFl1IEtlIDxrZS55dUBpbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS9DT1BZSU5HIGIvQ09QWUlORworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmQ1MTE5MDUKKy0tLSAvZGV2L251bGwKKysrKyBiL0NPUFlJTkcKK0BAIC0wLDAgKzEsMzM5IEBACisrCQkgICAgR05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKKysJCSAgICAgICBWZXJzaW9uIDIsIEp1bmUgMTk5MQorKworKyBDb3B5cmlnaHQgKEMpIDE5ODksIDE5OTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorKyA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCisrIEV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcworKyBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KKysKKysJCQkgICAgUHJlYW1ibGUKKysKKysgIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhcmUgZGVzaWduZWQgdG8gdGFrZSBhd2F5IHlvdXIKKytmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgaXQuICBCeSBjb250cmFzdCwgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworK0xpY2Vuc2UgaXMgaW50ZW5kZWQgdG8gZ3VhcmFudGVlIHlvdXIgZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIGZyZWUKKytzb2Z0d2FyZS0tdG8gbWFrZSBzdXJlIHRoZSBzb2Z0d2FyZSBpcyBmcmVlIGZvciBhbGwgaXRzIHVzZXJzLiAgVGhpcworK0dlbmVyYWwgUHVibGljIExpY2Vuc2UgYXBwbGllcyB0byBtb3N0IG9mIHRoZSBGcmVlIFNvZnR3YXJlCisrRm91bmRhdGlvbidzIHNvZnR3YXJlIGFuZCB0byBhbnkgb3RoZXIgcHJvZ3JhbSB3aG9zZSBhdXRob3JzIGNvbW1pdCB0bworK3VzaW5nIGl0LiAgKFNvbWUgb3RoZXIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIHNvZnR3YXJlIGlzIGNvdmVyZWQgYnkKKyt0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGluc3RlYWQuKSAgWW91IGNhbiBhcHBseSBpdCB0bworK3lvdXIgcHJvZ3JhbXMsIHRvby4KKysKKysgIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKKytwcmljZS4gIE91ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlcyBhcmUgZGVzaWduZWQgdG8gbWFrZSBzdXJlIHRoYXQgeW91CisraGF2ZSB0aGUgZnJlZWRvbSB0byBkaXN0cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQgY2hhcmdlIGZvcgorK3RoaXMgc2VydmljZSBpZiB5b3Ugd2lzaCksIHRoYXQgeW91IHJlY2VpdmUgc291cmNlIGNvZGUgb3IgY2FuIGdldCBpdAorK2lmIHlvdSB3YW50IGl0LCB0aGF0IHlvdSBjYW4gY2hhbmdlIHRoZSBzb2Z0d2FyZSBvciB1c2UgcGllY2VzIG9mIGl0CisraW4gbmV3IGZyZWUgcHJvZ3JhbXM7IGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgorKworKyAgVG8gcHJvdGVjdCB5b3VyIHJpZ2h0cywgd2UgbmVlZCB0byBtYWtlIHJlc3RyaWN0aW9ucyB0aGF0IGZvcmJpZAorK2FueW9uZSB0byBkZW55IHlvdSB0aGVzZSByaWdodHMgb3IgdG8gYXNrIHlvdSB0byBzdXJyZW5kZXIgdGhlIHJpZ2h0cy4KKytUaGVzZSByZXN0cmljdGlvbnMgdHJhbnNsYXRlIHRvIGNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBmb3IgeW91IGlmIHlvdQorK2Rpc3RyaWJ1dGUgY29waWVzIG9mIHRoZSBzb2Z0d2FyZSwgb3IgaWYgeW91IG1vZGlmeSBpdC4KKysKKysgIEZvciBleGFtcGxlLCBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2Ygc3VjaCBhIHByb2dyYW0sIHdoZXRoZXIKKytncmF0aXMgb3IgZm9yIGEgZmVlLCB5b3UgbXVzdCBnaXZlIHRoZSByZWNpcGllbnRzIGFsbCB0aGUgcmlnaHRzIHRoYXQKKyt5b3UgaGF2ZS4gIFlvdSBtdXN0IG1ha2Ugc3VyZSB0aGF0IHRoZXksIHRvbywgcmVjZWl2ZSBvciBjYW4gZ2V0IHRoZQorK3NvdXJjZSBjb2RlLiAgQW5kIHlvdSBtdXN0IHNob3cgdGhlbSB0aGVzZSB0ZXJtcyBzbyB0aGV5IGtub3cgdGhlaXIKKytyaWdodHMuCisrCisrICBXZSBwcm90ZWN0IHlvdXIgcmlnaHRzIHdpdGggdHdvIHN0ZXBzOiAoMSkgY29weXJpZ2h0IHRoZSBzb2Z0d2FyZSwgYW5kCisrKDIpIG9mZmVyIHlvdSB0aGlzIGxpY2Vuc2Ugd2hpY2ggZ2l2ZXMgeW91IGxlZ2FsIHBlcm1pc3Npb24gdG8gY29weSwKKytkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhlIHNvZnR3YXJlLgorKworKyAgQWxzbywgZm9yIGVhY2ggYXV0aG9yJ3MgcHJvdGVjdGlvbiBhbmQgb3Vycywgd2Ugd2FudCB0byBtYWtlIGNlcnRhaW4KKyt0aGF0IGV2ZXJ5b25lIHVuZGVyc3RhbmRzIHRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZQorK3NvZnR3YXJlLiAgSWYgdGhlIHNvZnR3YXJlIGlzIG1vZGlmaWVkIGJ5IHNvbWVvbmUgZWxzZSBhbmQgcGFzc2VkIG9uLCB3ZQorK3dhbnQgaXRzIHJlY2lwaWVudHMgdG8ga25vdyB0aGF0IHdoYXQgdGhleSBoYXZlIGlzIG5vdCB0aGUgb3JpZ2luYWwsIHNvCisrdGhhdCBhbnkgcHJvYmxlbXMgaW50cm9kdWNlZCBieSBvdGhlcnMgd2lsbCBub3QgcmVmbGVjdCBvbiB0aGUgb3JpZ2luYWwKKythdXRob3JzJyByZXB1dGF0aW9ucy4KKysKKysgIEZpbmFsbHksIGFueSBmcmVlIHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlCisrcGF0ZW50cy4gIFdlIHdpc2ggdG8gYXZvaWQgdGhlIGRhbmdlciB0aGF0IHJlZGlzdHJpYnV0b3JzIG9mIGEgZnJlZQorK3Byb2dyYW0gd2lsbCBpbmRpdmlkdWFsbHkgb2J0YWluIHBhdGVudCBsaWNlbnNlcywgaW4gZWZmZWN0IG1ha2luZyB0aGUKKytwcm9ncmFtIHByb3ByaWV0YXJ5LiAgVG8gcHJldmVudCB0aGlzLCB3ZSBoYXZlIG1hZGUgaXQgY2xlYXIgdGhhdCBhbnkKKytwYXRlbnQgbXVzdCBiZSBsaWNlbnNlZCBmb3IgZXZlcnlvbmUncyBmcmVlIHVzZSBvciBub3QgbGljZW5zZWQgYXQgYWxsLgorKworKyAgVGhlIHByZWNpc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQKKyttb2RpZmljYXRpb24gZm9sbG93LgorKworKwkJICAgIEdOVSBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCisrICAgVEVSTVMgQU5EIENPTkRJVElPTlMgRk9SIENPUFlJTkcsIERJU1RSSUJVVElPTiBBTkQgTU9ESUZJQ0FUSU9OCisrCisrICAwLiBUaGlzIExpY2Vuc2UgYXBwbGllcyB0byBhbnkgcHJvZ3JhbSBvciBvdGhlciB3b3JrIHdoaWNoIGNvbnRhaW5zCisrYSBub3RpY2UgcGxhY2VkIGJ5IHRoZSBjb3B5cmlnaHQgaG9sZGVyIHNheWluZyBpdCBtYXkgYmUgZGlzdHJpYnV0ZWQKKyt1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgVGhlICJQcm9ncmFtIiwgYmVsb3csCisrcmVmZXJzIHRvIGFueSBzdWNoIHByb2dyYW0gb3Igd29yaywgYW5kIGEgIndvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0iCisrbWVhbnMgZWl0aGVyIHRoZSBQcm9ncmFtIG9yIGFueSBkZXJpdmF0aXZlIHdvcmsgdW5kZXIgY29weXJpZ2h0IGxhdzoKKyt0aGF0IGlzIHRvIHNheSwgYSB3b3JrIGNvbnRhaW5pbmcgdGhlIFByb2dyYW0gb3IgYSBwb3J0aW9uIG9mIGl0LAorK2VpdGhlciB2ZXJiYXRpbSBvciB3aXRoIG1vZGlmaWNhdGlvbnMgYW5kL29yIHRyYW5zbGF0ZWQgaW50byBhbm90aGVyCisrbGFuZ3VhZ2UuICAoSGVyZWluYWZ0ZXIsIHRyYW5zbGF0aW9uIGlzIGluY2x1ZGVkIHdpdGhvdXQgbGltaXRhdGlvbiBpbgorK3RoZSB0ZXJtICJtb2RpZmljYXRpb24iLikgIEVhY2ggbGljZW5zZWUgaXMgYWRkcmVzc2VkIGFzICJ5b3UiLgorKworK0FjdGl2aXRpZXMgb3RoZXIgdGhhbiBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kIG1vZGlmaWNhdGlvbiBhcmUgbm90CisrY292ZXJlZCBieSB0aGlzIExpY2Vuc2U7IHRoZXkgYXJlIG91dHNpZGUgaXRzIHNjb3BlLiAgVGhlIGFjdCBvZgorK3J1bm5pbmcgdGhlIFByb2dyYW0gaXMgbm90IHJlc3RyaWN0ZWQsIGFuZCB0aGUgb3V0cHV0IGZyb20gdGhlIFByb2dyYW0KKytpcyBjb3ZlcmVkIG9ubHkgaWYgaXRzIGNvbnRlbnRzIGNvbnN0aXR1dGUgYSB3b3JrIGJhc2VkIG9uIHRoZQorK1Byb2dyYW0gKGluZGVwZW5kZW50IG9mIGhhdmluZyBiZWVuIG1hZGUgYnkgcnVubmluZyB0aGUgUHJvZ3JhbSkuCisrV2hldGhlciB0aGF0IGlzIHRydWUgZGVwZW5kcyBvbiB3aGF0IHRoZSBQcm9ncmFtIGRvZXMuCisrCisrICAxLiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mIHRoZSBQcm9ncmFtJ3MKKytzb3VyY2UgY29kZSBhcyB5b3UgcmVjZWl2ZSBpdCwgaW4gYW55IG1lZGl1bSwgcHJvdmlkZWQgdGhhdCB5b3UKKytjb25zcGljdW91c2x5IGFuZCBhcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlCisrY29weXJpZ2h0IG5vdGljZSBhbmQgZGlzY2xhaW1lciBvZiB3YXJyYW50eTsga2VlcCBpbnRhY3QgYWxsIHRoZQorK25vdGljZXMgdGhhdCByZWZlciB0byB0aGlzIExpY2Vuc2UgYW5kIHRvIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsKKythbmQgZ2l2ZSBhbnkgb3RoZXIgcmVjaXBpZW50cyBvZiB0aGUgUHJvZ3JhbSBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlCisrYWxvbmcgd2l0aCB0aGUgUHJvZ3JhbS4KKysKKytZb3UgbWF5IGNoYXJnZSBhIGZlZSBmb3IgdGhlIHBoeXNpY2FsIGFjdCBvZiB0cmFuc2ZlcnJpbmcgYSBjb3B5LCBhbmQKKyt5b3UgbWF5IGF0IHlvdXIgb3B0aW9uIG9mZmVyIHdhcnJhbnR5IHByb3RlY3Rpb24gaW4gZXhjaGFuZ2UgZm9yIGEgZmVlLgorKworKyAgMi4gWW91IG1heSBtb2RpZnkgeW91ciBjb3B5IG9yIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbgorK29mIGl0LCB0aHVzIGZvcm1pbmcgYSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtLCBhbmQgY29weSBhbmQKKytkaXN0cmlidXRlIHN1Y2ggbW9kaWZpY2F0aW9ucyBvciB3b3JrIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9uIDEKKythYm92ZSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBtZWV0IGFsbCBvZiB0aGVzZSBjb25kaXRpb25zOgorKworKyAgICBhKSBZb3UgbXVzdCBjYXVzZSB0aGUgbW9kaWZpZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMKKysgICAgc3RhdGluZyB0aGF0IHlvdSBjaGFuZ2VkIHRoZSBmaWxlcyBhbmQgdGhlIGRhdGUgb2YgYW55IGNoYW5nZS4KKysKKysgICAgYikgWW91IG11c3QgY2F1c2UgYW55IHdvcmsgdGhhdCB5b3UgZGlzdHJpYnV0ZSBvciBwdWJsaXNoLCB0aGF0IGluCisrICAgIHdob2xlIG9yIGluIHBhcnQgY29udGFpbnMgb3IgaXMgZGVyaXZlZCBmcm9tIHRoZSBQcm9ncmFtIG9yIGFueQorKyAgICBwYXJ0IHRoZXJlb2YsIHRvIGJlIGxpY2Vuc2VkIGFzIGEgd2hvbGUgYXQgbm8gY2hhcmdlIHRvIGFsbCB0aGlyZAorKyAgICBwYXJ0aWVzIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UuCisrCisrICAgIGMpIElmIHRoZSBtb2RpZmllZCBwcm9ncmFtIG5vcm1hbGx5IHJlYWRzIGNvbW1hbmRzIGludGVyYWN0aXZlbHkKKysgICAgd2hlbiBydW4sIHlvdSBtdXN0IGNhdXNlIGl0LCB3aGVuIHN0YXJ0ZWQgcnVubmluZyBmb3Igc3VjaAorKyAgICBpbnRlcmFjdGl2ZSB1c2UgaW4gdGhlIG1vc3Qgb3JkaW5hcnkgd2F5LCB0byBwcmludCBvciBkaXNwbGF5IGFuCisrICAgIGFubm91bmNlbWVudCBpbmNsdWRpbmcgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSBhbmQgYQorKyAgICBub3RpY2UgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSAob3IgZWxzZSwgc2F5aW5nIHRoYXQgeW91IHByb3ZpZGUKKysgICAgYSB3YXJyYW50eSkgYW5kIHRoYXQgdXNlcnMgbWF5IHJlZGlzdHJpYnV0ZSB0aGUgcHJvZ3JhbSB1bmRlcgorKyAgICB0aGVzZSBjb25kaXRpb25zLCBhbmQgdGVsbGluZyB0aGUgdXNlciBob3cgdG8gdmlldyBhIGNvcHkgb2YgdGhpcworKyAgICBMaWNlbnNlLiAgKEV4Y2VwdGlvbjogaWYgdGhlIFByb2dyYW0gaXRzZWxmIGlzIGludGVyYWN0aXZlIGJ1dAorKyAgICBkb2VzIG5vdCBub3JtYWxseSBwcmludCBzdWNoIGFuIGFubm91bmNlbWVudCwgeW91ciB3b3JrIGJhc2VkIG9uCisrICAgIHRoZSBQcm9ncmFtIGlzIG5vdCByZXF1aXJlZCB0byBwcmludCBhbiBhbm5vdW5jZW1lbnQuKQorKworK1RoZXNlIHJlcXVpcmVtZW50cyBhcHBseSB0byB0aGUgbW9kaWZpZWQgd29yayBhcyBhIHdob2xlLiAgSWYKKytpZGVudGlmaWFibGUgc2VjdGlvbnMgb2YgdGhhdCB3b3JrIGFyZSBub3QgZGVyaXZlZCBmcm9tIHRoZSBQcm9ncmFtLAorK2FuZCBjYW4gYmUgcmVhc29uYWJseSBjb25zaWRlcmVkIGluZGVwZW5kZW50IGFuZCBzZXBhcmF0ZSB3b3JrcyBpbgorK3RoZW1zZWx2ZXMsIHRoZW4gdGhpcyBMaWNlbnNlLCBhbmQgaXRzIHRlcm1zLCBkbyBub3QgYXBwbHkgdG8gdGhvc2UKKytzZWN0aW9ucyB3aGVuIHlvdSBkaXN0cmlidXRlIHRoZW0gYXMgc2VwYXJhdGUgd29ya3MuICBCdXQgd2hlbiB5b3UKKytkaXN0cmlidXRlIHRoZSBzYW1lIHNlY3Rpb25zIGFzIHBhcnQgb2YgYSB3aG9sZSB3aGljaCBpcyBhIHdvcmsgYmFzZWQKKytvbiB0aGUgUHJvZ3JhbSwgdGhlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd2hvbGUgbXVzdCBiZSBvbiB0aGUgdGVybXMgb2YKKyt0aGlzIExpY2Vuc2UsIHdob3NlIHBlcm1pc3Npb25zIGZvciBvdGhlciBsaWNlbnNlZXMgZXh0ZW5kIHRvIHRoZQorK2VudGlyZSB3aG9sZSwgYW5kIHRodXMgdG8gZWFjaCBhbmQgZXZlcnkgcGFydCByZWdhcmRsZXNzIG9mIHdobyB3cm90ZSBpdC4KKysKKytUaHVzLCBpdCBpcyBub3QgdGhlIGludGVudCBvZiB0aGlzIHNlY3Rpb24gdG8gY2xhaW0gcmlnaHRzIG9yIGNvbnRlc3QKKyt5b3VyIHJpZ2h0cyB0byB3b3JrIHdyaXR0ZW4gZW50aXJlbHkgYnkgeW91OyByYXRoZXIsIHRoZSBpbnRlbnQgaXMgdG8KKytleGVyY2lzZSB0aGUgcmlnaHQgdG8gY29udHJvbCB0aGUgZGlzdHJpYnV0aW9uIG9mIGRlcml2YXRpdmUgb3IKKytjb2xsZWN0aXZlIHdvcmtzIGJhc2VkIG9uIHRoZSBQcm9ncmFtLgorKworK0luIGFkZGl0aW9uLCBtZXJlIGFnZ3JlZ2F0aW9uIG9mIGFub3RoZXIgd29yayBub3QgYmFzZWQgb24gdGhlIFByb2dyYW0KKyt3aXRoIHRoZSBQcm9ncmFtIChvciB3aXRoIGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSkgb24gYSB2b2x1bWUgb2YKKythIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSBkb2VzIG5vdCBicmluZyB0aGUgb3RoZXIgd29yayB1bmRlcgorK3RoZSBzY29wZSBvZiB0aGlzIExpY2Vuc2UuCisrCisrICAzLiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gKG9yIGEgd29yayBiYXNlZCBvbiBpdCwKKyt1bmRlciBTZWN0aW9uIDIpIGluIG9iamVjdCBjb2RlIG9yIGV4ZWN1dGFibGUgZm9ybSB1bmRlciB0aGUgdGVybXMgb2YKKytTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gZG8gb25lIG9mIHRoZSBmb2xsb3dpbmc6CisrCisrICAgIGEpIEFjY29tcGFueSBpdCB3aXRoIHRoZSBjb21wbGV0ZSBjb3JyZXNwb25kaW5nIG1hY2hpbmUtcmVhZGFibGUKKysgICAgc291cmNlIGNvZGUsIHdoaWNoIG11c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zCisrICAgIDEgYW5kIDIgYWJvdmUgb24gYSBtZWRpdW0gY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2U7IG9yLAorKworKyAgICBiKSBBY2NvbXBhbnkgaXQgd2l0aCBhIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZQorKyAgICB5ZWFycywgdG8gZ2l2ZSBhbnkgdGhpcmQgcGFydHksIGZvciBhIGNoYXJnZSBubyBtb3JlIHRoYW4geW91cgorKyAgICBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyBzb3VyY2UgZGlzdHJpYnV0aW9uLCBhIGNvbXBsZXRlCisrICAgIG1hY2hpbmUtcmVhZGFibGUgY29weSBvZiB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZSwgdG8gYmUKKysgICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUgb24gYSBtZWRpdW0KKysgICAgY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2U7IG9yLAorKworKyAgICBjKSBBY2NvbXBhbnkgaXQgd2l0aCB0aGUgaW5mb3JtYXRpb24geW91IHJlY2VpdmVkIGFzIHRvIHRoZSBvZmZlcgorKyAgICB0byBkaXN0cmlidXRlIGNvcnJlc3BvbmRpbmcgc291cmNlIGNvZGUuICAoVGhpcyBhbHRlcm5hdGl2ZSBpcworKyAgICBhbGxvd2VkIG9ubHkgZm9yIG5vbmNvbW1lcmNpYWwgZGlzdHJpYnV0aW9uIGFuZCBvbmx5IGlmIHlvdQorKyAgICByZWNlaXZlZCB0aGUgcHJvZ3JhbSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0gd2l0aCBzdWNoCisrICAgIGFuIG9mZmVyLCBpbiBhY2NvcmQgd2l0aCBTdWJzZWN0aW9uIGIgYWJvdmUuKQorKworK1RoZSBzb3VyY2UgY29kZSBmb3IgYSB3b3JrIG1lYW5zIHRoZSBwcmVmZXJyZWQgZm9ybSBvZiB0aGUgd29yayBmb3IKKyttYWtpbmcgbW9kaWZpY2F0aW9ucyB0byBpdC4gIEZvciBhbiBleGVjdXRhYmxlIHdvcmssIGNvbXBsZXRlIHNvdXJjZQorK2NvZGUgbWVhbnMgYWxsIHRoZSBzb3VyY2UgY29kZSBmb3IgYWxsIG1vZHVsZXMgaXQgY29udGFpbnMsIHBsdXMgYW55CisrYXNzb2NpYXRlZCBpbnRlcmZhY2UgZGVmaW5pdGlvbiBmaWxlcywgcGx1cyB0aGUgc2NyaXB0cyB1c2VkIHRvCisrY29udHJvbCBjb21waWxhdGlvbiBhbmQgaW5zdGFsbGF0aW9uIG9mIHRoZSBleGVjdXRhYmxlLiAgSG93ZXZlciwgYXMgYQorK3NwZWNpYWwgZXhjZXB0aW9uLCB0aGUgc291cmNlIGNvZGUgZGlzdHJpYnV0ZWQgbmVlZCBub3QgaW5jbHVkZQorK2FueXRoaW5nIHRoYXQgaXMgbm9ybWFsbHkgZGlzdHJpYnV0ZWQgKGluIGVpdGhlciBzb3VyY2Ugb3IgYmluYXJ5CisrZm9ybSkgd2l0aCB0aGUgbWFqb3IgY29tcG9uZW50cyAoY29tcGlsZXIsIGtlcm5lbCwgYW5kIHNvIG9uKSBvZiB0aGUKKytvcGVyYXRpbmcgc3lzdGVtIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHJ1bnMsIHVubGVzcyB0aGF0IGNvbXBvbmVudAorK2l0c2VsZiBhY2NvbXBhbmllcyB0aGUgZXhlY3V0YWJsZS4KKysKKytJZiBkaXN0cmlidXRpb24gb2YgZXhlY3V0YWJsZSBvciBvYmplY3QgY29kZSBpcyBtYWRlIGJ5IG9mZmVyaW5nCisrYWNjZXNzIHRvIGNvcHkgZnJvbSBhIGRlc2lnbmF0ZWQgcGxhY2UsIHRoZW4gb2ZmZXJpbmcgZXF1aXZhbGVudAorK2FjY2VzcyB0byBjb3B5IHRoZSBzb3VyY2UgY29kZSBmcm9tIHRoZSBzYW1lIHBsYWNlIGNvdW50cyBhcworK2Rpc3RyaWJ1dGlvbiBvZiB0aGUgc291cmNlIGNvZGUsIGV2ZW4gdGhvdWdoIHRoaXJkIHBhcnRpZXMgYXJlIG5vdAorK2NvbXBlbGxlZCB0byBjb3B5IHRoZSBzb3VyY2UgYWxvbmcgd2l0aCB0aGUgb2JqZWN0IGNvZGUuCisrCisrICA0LiBZb3UgbWF5IG5vdCBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIG9yIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0KKytleGNlcHQgYXMgZXhwcmVzc2x5IHByb3ZpZGVkIHVuZGVyIHRoaXMgTGljZW5zZS4gIEFueSBhdHRlbXB0Cisrb3RoZXJ3aXNlIHRvIGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSBvciBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIGlzCisrdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLgorK0hvd2V2ZXIsIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzLCBvciByaWdodHMsIGZyb20geW91IHVuZGVyCisrdGhpcyBMaWNlbnNlIHdpbGwgbm90IGhhdmUgdGhlaXIgbGljZW5zZXMgdGVybWluYXRlZCBzbyBsb25nIGFzIHN1Y2gKKytwYXJ0aWVzIHJlbWFpbiBpbiBmdWxsIGNvbXBsaWFuY2UuCisrCisrICA1LiBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQgdGhpcyBMaWNlbnNlLCBzaW5jZSB5b3UgaGF2ZSBub3QKKytzaWduZWQgaXQuICBIb3dldmVyLCBub3RoaW5nIGVsc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIG1vZGlmeSBvcgorK2Rpc3RyaWJ1dGUgdGhlIFByb2dyYW0gb3IgaXRzIGRlcml2YXRpdmUgd29ya3MuICBUaGVzZSBhY3Rpb25zIGFyZQorK3Byb2hpYml0ZWQgYnkgbGF3IGlmIHlvdSBkbyBub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkKKyttb2RpZnlpbmcgb3IgZGlzdHJpYnV0aW5nIHRoZSBQcm9ncmFtIChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKKytQcm9ncmFtKSwgeW91IGluZGljYXRlIHlvdXIgYWNjZXB0YW5jZSBvZiB0aGlzIExpY2Vuc2UgdG8gZG8gc28sIGFuZAorK2FsbCBpdHMgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGluZyBvciBtb2RpZnlpbmcKKyt0aGUgUHJvZ3JhbSBvciB3b3JrcyBiYXNlZCBvbiBpdC4KKysKKysgIDYuIEVhY2ggdGltZSB5b3UgcmVkaXN0cmlidXRlIHRoZSBQcm9ncmFtIChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKKytQcm9ncmFtKSwgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5IHJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZQorK29yaWdpbmFsIGxpY2Vuc29yIHRvIGNvcHksIGRpc3RyaWJ1dGUgb3IgbW9kaWZ5IHRoZSBQcm9ncmFtIHN1YmplY3QgdG8KKyt0aGVzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucy4gIFlvdSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhlcgorK3Jlc3RyaWN0aW9ucyBvbiB0aGUgcmVjaXBpZW50cycgZXhlcmNpc2Ugb2YgdGhlIHJpZ2h0cyBncmFudGVkIGhlcmVpbi4KKytZb3UgYXJlIG5vdCByZXNwb25zaWJsZSBmb3IgZW5mb3JjaW5nIGNvbXBsaWFuY2UgYnkgdGhpcmQgcGFydGllcyB0bworK3RoaXMgTGljZW5zZS4KKysKKysgIDcuIElmLCBhcyBhIGNvbnNlcXVlbmNlIG9mIGEgY291cnQganVkZ21lbnQgb3IgYWxsZWdhdGlvbiBvZiBwYXRlbnQKKytpbmZyaW5nZW1lbnQgb3IgZm9yIGFueSBvdGhlciByZWFzb24gKG5vdCBsaW1pdGVkIHRvIHBhdGVudCBpc3N1ZXMpLAorK2NvbmRpdGlvbnMgYXJlIGltcG9zZWQgb24geW91ICh3aGV0aGVyIGJ5IGNvdXJ0IG9yZGVyLCBhZ3JlZW1lbnQgb3IKKytvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CisrZXhjdXNlIHlvdSBmcm9tIHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZS4gIElmIHlvdSBjYW5ub3QKKytkaXN0cmlidXRlIHNvIGFzIHRvIHNhdGlzZnkgc2ltdWx0YW5lb3VzbHkgeW91ciBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzCisrTGljZW5zZSBhbmQgYW55IG90aGVyIHBlcnRpbmVudCBvYmxpZ2F0aW9ucywgdGhlbiBhcyBhIGNvbnNlcXVlbmNlIHlvdQorK21heSBub3QgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBhdCBhbGwuICBGb3IgZXhhbXBsZSwgaWYgYSBwYXRlbnQKKytsaWNlbnNlIHdvdWxkIG5vdCBwZXJtaXQgcm95YWx0eS1mcmVlIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtIGJ5CisrYWxsIHRob3NlIHdobyByZWNlaXZlIGNvcGllcyBkaXJlY3RseSBvciBpbmRpcmVjdGx5IHRocm91Z2ggeW91LCB0aGVuCisrdGhlIG9ubHkgd2F5IHlvdSBjb3VsZCBzYXRpc2Z5IGJvdGggaXQgYW5kIHRoaXMgTGljZW5zZSB3b3VsZCBiZSB0bworK3JlZnJhaW4gZW50aXJlbHkgZnJvbSBkaXN0cmlidXRpb24gb2YgdGhlIFByb2dyYW0uCisrCisrSWYgYW55IHBvcnRpb24gb2YgdGhpcyBzZWN0aW9uIGlzIGhlbGQgaW52YWxpZCBvciB1bmVuZm9yY2VhYmxlIHVuZGVyCisrYW55IHBhcnRpY3VsYXIgY2lyY3Vtc3RhbmNlLCB0aGUgYmFsYW5jZSBvZiB0aGUgc2VjdGlvbiBpcyBpbnRlbmRlZCB0bworK2FwcGx5IGFuZCB0aGUgc2VjdGlvbiBhcyBhIHdob2xlIGlzIGludGVuZGVkIHRvIGFwcGx5IGluIG90aGVyCisrY2lyY3Vtc3RhbmNlcy4KKysKKytJdCBpcyBub3QgdGhlIHB1cnBvc2Ugb2YgdGhpcyBzZWN0aW9uIHRvIGluZHVjZSB5b3UgdG8gaW5mcmluZ2UgYW55CisrcGF0ZW50cyBvciBvdGhlciBwcm9wZXJ0eSByaWdodCBjbGFpbXMgb3IgdG8gY29udGVzdCB2YWxpZGl0eSBvZiBhbnkKKytzdWNoIGNsYWltczsgdGhpcyBzZWN0aW9uIGhhcyB0aGUgc29sZSBwdXJwb3NlIG9mIHByb3RlY3RpbmcgdGhlCisraW50ZWdyaXR5IG9mIHRoZSBmcmVlIHNvZnR3YXJlIGRpc3RyaWJ1dGlvbiBzeXN0ZW0sIHdoaWNoIGlzCisraW1wbGVtZW50ZWQgYnkgcHVibGljIGxpY2Vuc2UgcHJhY3RpY2VzLiAgTWFueSBwZW9wbGUgaGF2ZSBtYWRlCisrZ2VuZXJvdXMgY29udHJpYnV0aW9ucyB0byB0aGUgd2lkZSByYW5nZSBvZiBzb2Z0d2FyZSBkaXN0cmlidXRlZAorK3Rocm91Z2ggdGhhdCBzeXN0ZW0gaW4gcmVsaWFuY2Ugb24gY29uc2lzdGVudCBhcHBsaWNhdGlvbiBvZiB0aGF0Cisrc3lzdGVtOyBpdCBpcyB1cCB0byB0aGUgYXV0aG9yL2Rvbm9yIHRvIGRlY2lkZSBpZiBoZSBvciBzaGUgaXMgd2lsbGluZworK3RvIGRpc3RyaWJ1dGUgc29mdHdhcmUgdGhyb3VnaCBhbnkgb3RoZXIgc3lzdGVtIGFuZCBhIGxpY2Vuc2VlIGNhbm5vdAorK2ltcG9zZSB0aGF0IGNob2ljZS4KKysKKytUaGlzIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8gbWFrZSB0aG9yb3VnaGx5IGNsZWFyIHdoYXQgaXMgYmVsaWV2ZWQgdG8KKytiZSBhIGNvbnNlcXVlbmNlIG9mIHRoZSByZXN0IG9mIHRoaXMgTGljZW5zZS4KKysKKysgIDguIElmIHRoZSBkaXN0cmlidXRpb24gYW5kL29yIHVzZSBvZiB0aGUgUHJvZ3JhbSBpcyByZXN0cmljdGVkIGluCisrY2VydGFpbiBjb3VudHJpZXMgZWl0aGVyIGJ5IHBhdGVudHMgb3IgYnkgY29weXJpZ2h0ZWQgaW50ZXJmYWNlcywgdGhlCisrb3JpZ2luYWwgY29weXJpZ2h0IGhvbGRlciB3aG8gcGxhY2VzIHRoZSBQcm9ncmFtIHVuZGVyIHRoaXMgTGljZW5zZQorK21heSBhZGQgYW4gZXhwbGljaXQgZ2VvZ3JhcGhpY2FsIGRpc3RyaWJ1dGlvbiBsaW1pdGF0aW9uIGV4Y2x1ZGluZworK3Rob3NlIGNvdW50cmllcywgc28gdGhhdCBkaXN0cmlidXRpb24gaXMgcGVybWl0dGVkIG9ubHkgaW4gb3IgYW1vbmcKKytjb3VudHJpZXMgbm90IHRodXMgZXhjbHVkZWQuICBJbiBzdWNoIGNhc2UsIHRoaXMgTGljZW5zZSBpbmNvcnBvcmF0ZXMKKyt0aGUgbGltaXRhdGlvbiBhcyBpZiB3cml0dGVuIGluIHRoZSBib2R5IG9mIHRoaXMgTGljZW5zZS4KKysKKysgIDkuIFRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gbWF5IHB1Ymxpc2ggcmV2aXNlZCBhbmQvb3IgbmV3IHZlcnNpb25zCisrb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCisrYmUgc2ltaWxhciBpbiBzcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwgYnV0IG1heSBkaWZmZXIgaW4gZGV0YWlsIHRvCisrYWRkcmVzcyBuZXcgcHJvYmxlbXMgb3IgY29uY2VybnMuCisrCisrRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUgUHJvZ3JhbQorK3NwZWNpZmllcyBhIHZlcnNpb24gbnVtYmVyIG9mIHRoaXMgTGljZW5zZSB3aGljaCBhcHBsaWVzIHRvIGl0IGFuZCAiYW55CisrbGF0ZXIgdmVyc2lvbiIsIHlvdSBoYXZlIHRoZSBvcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucworK2VpdGhlciBvZiB0aGF0IHZlcnNpb24gb3Igb2YgYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZSBGcmVlCisrU29mdHdhcmUgRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZgorK3RoaXMgTGljZW5zZSwgeW91IG1heSBjaG9vc2UgYW55IHZlcnNpb24gZXZlciBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKKytGb3VuZGF0aW9uLgorKworKyAgMTAuIElmIHlvdSB3aXNoIHRvIGluY29ycG9yYXRlIHBhcnRzIG9mIHRoZSBQcm9ncmFtIGludG8gb3RoZXIgZnJlZQorK3Byb2dyYW1zIHdob3NlIGRpc3RyaWJ1dGlvbiBjb25kaXRpb25zIGFyZSBkaWZmZXJlbnQsIHdyaXRlIHRvIHRoZSBhdXRob3IKKyt0byBhc2sgZm9yIHBlcm1pc3Npb24uICBGb3Igc29mdHdhcmUgd2hpY2ggaXMgY29weXJpZ2h0ZWQgYnkgdGhlIEZyZWUKKytTb2Z0d2FyZSBGb3VuZGF0aW9uLCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB3ZSBzb21ldGltZXMKKyttYWtlIGV4Y2VwdGlvbnMgZm9yIHRoaXMuICBPdXIgZGVjaXNpb24gd2lsbCBiZSBndWlkZWQgYnkgdGhlIHR3byBnb2FscworK29mIHByZXNlcnZpbmcgdGhlIGZyZWUgc3RhdHVzIG9mIGFsbCBkZXJpdmF0aXZlcyBvZiBvdXIgZnJlZSBzb2Z0d2FyZSBhbmQKKytvZiBwcm9tb3RpbmcgdGhlIHNoYXJpbmcgYW5kIHJldXNlIG9mIHNvZnR3YXJlIGdlbmVyYWxseS4KKysKKysJCQkgICAgTk8gV0FSUkFOVFkKKysKKysgIDExLiBCRUNBVVNFIFRIRSBQUk9HUkFNIElTIExJQ0VOU0VEIEZSRUUgT0YgQ0hBUkdFLCBUSEVSRSBJUyBOTyBXQVJSQU5UWQorK0ZPUiBUSEUgUFJPR1JBTSwgVE8gVEhFIEVYVEVOVCBQRVJNSVRURUQgQlkgQVBQTElDQUJMRSBMQVcuICBFWENFUFQgV0hFTgorK09USEVSV0lTRSBTVEFURUQgSU4gV1JJVElORyBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EL09SIE9USEVSIFBBUlRJRVMKKytQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRAorK09SIElNUExJRUQsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GCisrTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFRIRSBFTlRJUkUgUklTSyBBUworK1RPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTSBJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUKKytQUk9HUkFNIFBST1ZFIERFRkVDVElWRSwgWU9VIEFTU1VNRSBUSEUgQ09TVCBPRiBBTEwgTkVDRVNTQVJZIFNFUlZJQ0lORywKKytSRVBBSVIgT1IgQ09SUkVDVElPTi4KKysKKysgIDEyLiBJTiBOTyBFVkVOVCBVTkxFU1MgUkVRVUlSRUQgQlkgQVBQTElDQUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOIFdSSVRJTkcKKytXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1BWSBNT0RJRlkgQU5EL09SCisrUkVESVNUUklCVVRFIFRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywKKytJTkNMVURJTkcgQU5ZIEdFTkVSQUwsIFNQRUNJQUwsIElOQ0lERU5UQUwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIEFSSVNJTkcKKytPVVQgT0YgVEhFIFVTRSBPUiBJTkFCSUxJVFkgVE8gVVNFIFRIRSBQUk9HUkFNIChJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVECisrVE8gTE9TUyBPRiBEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZCisrWU9VIE9SIFRISVJEIFBBUlRJRVMgT1IgQSBGQUlMVVJFIE9GIFRIRSBQUk9HUkFNIFRPIE9QRVJBVEUgV0lUSCBBTlkgT1RIRVIKKytQUk9HUkFNUyksIEVWRU4gSUYgU1VDSCBIT0xERVIgT1IgT1RIRVIgUEFSVFkgSEFTIEJFRU4gQURWSVNFRCBPRiBUSEUKKytQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRVMuCisrCisrCQkgICAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUworKworKwkgICAgSG93IHRvIEFwcGx5IFRoZXNlIFRlcm1zIHRvIFlvdXIgTmV3IFByb2dyYW1zCisrCisrICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CisrcG9zc2libGUgdXNlIHRvIHRoZSBwdWJsaWMsIHRoZSBiZXN0IHdheSB0byBhY2hpZXZlIHRoaXMgaXMgdG8gbWFrZSBpdAorK2ZyZWUgc29mdHdhcmUgd2hpY2ggZXZlcnlvbmUgY2FuIHJlZGlzdHJpYnV0ZSBhbmQgY2hhbmdlIHVuZGVyIHRoZXNlIHRlcm1zLgorKworKyAgVG8gZG8gc28sIGF0dGFjaCB0aGUgZm9sbG93aW5nIG5vdGljZXMgdG8gdGhlIHByb2dyYW0uICBJdCBpcyBzYWZlc3QKKyt0byBhdHRhY2ggdGhlbSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2ZWx5CisrY29udmV5IHRoZSBleGNsdXNpb24gb2Ygd2FycmFudHk7IGFuZCBlYWNoIGZpbGUgc2hvdWxkIGhhdmUgYXQgbGVhc3QKKyt0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KKysKKysgICAgPG9uZSBsaW5lIHRvIGdpdmUgdGhlIHByb2dyYW0ncyBuYW1lIGFuZCBhIGJyaWVmIGlkZWEgb2Ygd2hhdCBpdCBkb2VzLj4KKysgICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KKysKKysgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysgICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKysgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKysgICAgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKysgICAgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKysKKytBbHNvIGFkZCBpbmZvcm1hdGlvbiBvbiBob3cgdG8gY29udGFjdCB5b3UgYnkgZWxlY3Ryb25pYyBhbmQgcGFwZXIgbWFpbC4KKysKKytJZiB0aGUgcHJvZ3JhbSBpcyBpbnRlcmFjdGl2ZSwgbWFrZSBpdCBvdXRwdXQgYSBzaG9ydCBub3RpY2UgbGlrZSB0aGlzCisrd2hlbiBpdCBzdGFydHMgaW4gYW4gaW50ZXJhY3RpdmUgbW9kZToKKysKKysgICAgR25vbW92aXNpb24gdmVyc2lvbiA2OSwgQ29weXJpZ2h0IChDKSB5ZWFyIG5hbWUgb2YgYXV0aG9yCisrICAgIEdub21vdmlzaW9uIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWTsgZm9yIGRldGFpbHMgdHlwZSBgc2hvdyB3Jy4KKysgICAgVGhpcyBpcyBmcmVlIHNvZnR3YXJlLCBhbmQgeW91IGFyZSB3ZWxjb21lIHRvIHJlZGlzdHJpYnV0ZSBpdAorKyAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCisrCisrVGhlIGh5cG90aGV0aWNhbCBjb21tYW5kcyBgc2hvdyB3JyBhbmQgYHNob3cgYycgc2hvdWxkIHNob3cgdGhlIGFwcHJvcHJpYXRlCisrcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHRoZSBjb21tYW5kcyB5b3UgdXNlIG1heQorK2JlIGNhbGxlZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBgc2hvdyB3JyBhbmQgYHNob3cgYyc7IHRoZXkgY291bGQgZXZlbiBiZQorK21vdXNlLWNsaWNrcyBvciBtZW51IGl0ZW1zLS13aGF0ZXZlciBzdWl0cyB5b3VyIHByb2dyYW0uCisrCisrWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHlvdXIKKytzY2hvb2wsIGlmIGFueSwgdG8gc2lnbiBhICJjb3B5cmlnaHQgZGlzY2xhaW1lciIgZm9yIHRoZSBwcm9ncmFtLCBpZgorK25lY2Vzc2FyeS4gIEhlcmUgaXMgYSBzYW1wbGU7IGFsdGVyIHRoZSBuYW1lczoKKysKKysgIFlveW9keW5lLCBJbmMuLCBoZXJlYnkgZGlzY2xhaW1zIGFsbCBjb3B5cmlnaHQgaW50ZXJlc3QgaW4gdGhlIHByb2dyYW0KKysgIGBHbm9tb3Zpc2lvbicgKHdoaWNoIG1ha2VzIHBhc3NlcyBhdCBjb21waWxlcnMpIHdyaXR0ZW4gYnkgSmFtZXMgSGFja2VyLgorKworKyAgPHNpZ25hdHVyZSBvZiBUeSBDb29uPiwgMSBBcHJpbCAxOTg5CisrICBUeSBDb29uLCBQcmVzaWRlbnQgb2YgVmljZQorKworK1RoaXMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBkb2VzIG5vdCBwZXJtaXQgaW5jb3Jwb3JhdGluZyB5b3VyIHByb2dyYW0gaW50bworK3Byb3ByaWV0YXJ5IHByb2dyYW1zLiAgSWYgeW91ciBwcm9ncmFtIGlzIGEgc3Vicm91dGluZSBsaWJyYXJ5LCB5b3UgbWF5CisrY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGggdGhlCisrbGlicmFyeS4gIElmIHRoaXMgaXMgd2hhdCB5b3Ugd2FudCB0byBkbywgdXNlIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwKKytQdWJsaWMgTGljZW5zZSBpbnN0ZWFkIG9mIHRoaXMgTGljZW5zZS4KZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94MTEtY29tbW9uL3gxMS1jb21tb25fMC4xLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3gxMS1jb21tb24veDExLWNvbW1vbl8wLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTU2YjMyOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94MTEtY29tbW9uL3gxMS1jb21tb25fMC4xLmJiCkBAIC0wLDAgKzEsMjMgQEAKK1NVTU1BUlkgPSAiQ29tbW9uIFgxMSBzY3JpcHRzIGFuZCBjb25maWd1cmF0aW9uIGZpbGVzIgorTElDRU5TRSA9ICJHUEx2MiIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTc1MTQxOTI2MGFhOTU0NDk5ZjdhYmFhYmFhODgyYmJlIgorU0VDVElPTiA9ICJ4MTEiCitQUiA9ICJyNDciCisKK2luaGVyaXQgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisjIHJkZXBlbmRzIG9uIHhkeXBpbmZvIHhtb2RtYXAgeGluaXQKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK1NSQ19VUkkgPSAiZmlsZTovL2V0YyBcCisgICAgICAgICAgIGZpbGU6Ly9ncGx2Mi1saWNlbnNlLnBhdGNoIgorCitTID0gIiR7V09SS0RJUn0iCisKK2RvX2luc3RhbGwoKSB7CisJY3AgLVIgJHtTfS9ldGMgJHtEfSR7c3lzY29uZmRpcn0KKwljaG1vZCAtUiA3NTUgJHtEfSR7c3lzY29uZmRpcn0KKwlmaW5kICR7RH0ke3N5c2NvbmZkaXJ9IC10eXBlIGYgLW5hbWUgXCp+IC1leGVjIHJtIC1yZiB7fSBcOworfQorCitSREVQRU5EU18ke1BOfSA9ICJkYnVzLXgxMSB4bW9kbWFwIHhkcHlpbmZvIHh0c2NhbCB4aW5pdCBmb3JtZmFjdG9yIgorCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExLWNvbW1vbi94c2VydmVyLW5vZG0taW5pdC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94MTEtY29tbW9uL3hzZXJ2ZXItbm9kbS1pbml0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2OGQ0MGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExLWNvbW1vbi94c2VydmVyLW5vZG0taW5pdC5iYgpAQCAtMCwwICsxLDUyIEBACitTVU1NQVJZID0gIlNpbXBsZSBYc2VydmVyIEluaXQgU2NyaXB0IChubyBkbSkiCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzUxNDE5MjYwYWE5NTQ0OTlmN2FiYWFiYWE4ODJiYmUiCitTRUNUSU9OID0gIngxMSIKK1BSID0gInIzMSIKKworU1JDX1VSSSA9ICJmaWxlOi8veHNlcnZlci1ub2RtIFwKKyAgICAgICAgICAgZmlsZTovL1h1c2VybmFtZSBcCisgICAgICAgICAgIGZpbGU6Ly9ncGx2Mi1saWNlbnNlLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3hzZXJ2ZXItbm9kbS5zZXJ2aWNlIFwKKyAgICAgICAgICAgZmlsZTovL3hzZXJ2ZXItbm9kbS5jb25mIFwKKyIKKworUyA9ICIke1dPUktESVJ9IgorCisjIFNpbmNlIHdlIHJlZmVyIHRvIFJPT1RMRVNTX1ggd2hpY2ggaXMgbm9ybWFsbHkgZW5hYmxlZCBwZXItbWFjaGluZQorUEFDS0FHRV9BUkNIID0gIiR7TUFDSElORV9BUkNIfSIKKworaW5oZXJpdCB1cGRhdGUtcmMuZCBzeXN0ZW1kCisKK2RvX2luc3RhbGwoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKyAgICBpbnN0YWxsIHhzZXJ2ZXItbm9kbSAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN0ZW1kJywndHJ1ZScsJ2ZhbHNlJyxkKX07IHRoZW4KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0CisgICAgICAgIGluc3RhbGwgeHNlcnZlci1ub2RtLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vZGVmYXVsdC94c2VydmVyLW5vZG0KKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS94c2VydmVyLW5vZG0uc2VydmljZSAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbQorICAgICAgICBpZiBbICIke1JPT1RMRVNTX1h9IiA9ICIxIiBdIDsgdGhlbgorICAgICAgICAgICAgc2VkIC1pICdzIV5IT01FPS4qIUhPTUU9L2hvbWUveHVzZXIhJyAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3hzZXJ2ZXItbm9kbQorICAgICAgICAgICAgc2VkIC1pICdzIV5Vc2VyPS4qIVVzZXI9eHVzZXIhJyAke0R9JHtzeXN0ZW1kX3VuaXRkaXJ9L3N5c3RlbS94c2VydmVyLW5vZG0uc2VydmljZQorICAgICAgICBlbHNlCisgICAgICAgICAgICBzZWQgLWkgJ3MhXkhPTUU9LiohSE9NRT0ke1JPT1RfSE9NRX0hJyAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3hzZXJ2ZXItbm9kbQorICAgICAgICAgICAgc2VkIC1pICcvXlVzZXI9L2QnICR7RH0ke3N5c3RlbWRfdW5pdGRpcn0vc3lzdGVtL3hzZXJ2ZXItbm9kbS5zZXJ2aWNlCisgICAgICAgIGZpCisgICAgZmkKKworICAgIGlmICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCdzeXN2aW5pdCcsJ3RydWUnLCdmYWxzZScsZCl9OyB0aGVuCisgICAgICAgIGlmIFsgIiR7Uk9PVExFU1NfWH0iID0gIjEiIF0gOyB0aGVuCisgICAgICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L1gxMQorICAgICAgICAgICAgaW5zdGFsbCBYdXNlcm5hbWUgJHtEfSR7c3lzY29uZmRpcn0vWDExCisgICAgICAgIGZpCisgICAgZmkKK30KKworUkRFUEVORFNfJHtQTn0gPSAiJHtAYmFzZV9jb25kaXRpb25hbCgnUk9PVExFU1NfWCcsICcxJywgJ3h1c2VyLWFjY291bnQnLCAnJywgZCl9IgorCitJTklUU0NSSVBUX05BTUUgPSAieHNlcnZlci1ub2RtIgorSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgOSA1IC4gc3RvcCAyMCAwIDEgMiAzIDYgLiIKK1NZU1RFTURfU0VSVklDRV8ke1BOfSA9ICJ4c2VydmVyLW5vZG0uc2VydmljZSIKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3gxMS1jb21tb24veHNlcnZlci1ub2RtLWluaXQvWHVzZXJuYW1lIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3gxMS1jb21tb24veHNlcnZlci1ub2RtLWluaXQvWHVzZXJuYW1lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwNjBlNWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExLWNvbW1vbi94c2VydmVyLW5vZG0taW5pdC9YdXNlcm5hbWUKQEAgLTAsMCArMSBAQAoreHVzZXIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94MTEtY29tbW9uL3hzZXJ2ZXItbm9kbS1pbml0L2dwbHYyLWxpY2Vuc2UucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExLWNvbW1vbi94c2VydmVyLW5vZG0taW5pdC9ncGx2Mi1saWNlbnNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmZjk3NWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExLWNvbW1vbi94c2VydmVyLW5vZG0taW5pdC9ncGx2Mi1saWNlbnNlLnBhdGNoCkBAIC0wLDAgKzEsMzU1IEBACitDT1BZSU5HOiBhZGQgR1BMdjIgbGljZW5zZSBmaWxlCisKK3RoaXMgaXMgYSBsb2NhbCBmaWxlIHJlY2lwZSBhbmQgdGhlIGxpY2Vuc2UgZmlsZSBpcyBtaXNzaW5nLkluIG9yZGVyCit0byBwYXNzIHRoZSBsaWNlbnNlIGNoZWNrc3VtIGNoZWNraW5nLCB0aGUgbGljZW5zZSBmaWxlIGlzIG5lZWRlZC4gU28KK3RoaXMgcGF0Y2ggYWRkIHRoZSBHUEx2MiBsaWNlbnNlIGZpbGUuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbbGljZW5zaW5nXQorCitTaWduZWQtb2ZmLWJ5OiBZdSBLZSA8a2UueXVAaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvQ09QWUlORyBiL0NPUFlJTkcKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwLi5kNTExOTA1CistLS0gL2Rldi9udWxsCisrKysgYi9DT1BZSU5HCitAQCAtMCwwICsxLDMzOSBAQAorKwkJICAgIEdOVSBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCisrCQkgICAgICAgVmVyc2lvbiAyLCBKdW5lIDE5OTEKKysKKysgQ29weXJpZ2h0IChDKSAxOTg5LCAxOTkxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKysgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQorKyBFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMKKysgb2YgdGhpcyBsaWNlbnNlIGRvY3VtZW50LCBidXQgY2hhbmdpbmcgaXQgaXMgbm90IGFsbG93ZWQuCisrCisrCQkJICAgIFByZWFtYmxlCisrCisrICBUaGUgbGljZW5zZXMgZm9yIG1vc3Qgc29mdHdhcmUgYXJlIGRlc2lnbmVkIHRvIHRha2UgYXdheSB5b3VyCisrZnJlZWRvbSB0byBzaGFyZSBhbmQgY2hhbmdlIGl0LiAgQnkgY29udHJhc3QsIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKytMaWNlbnNlIGlzIGludGVuZGVkIHRvIGd1YXJhbnRlZSB5b3VyIGZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBmcmVlCisrc29mdHdhcmUtLXRvIG1ha2Ugc3VyZSB0aGUgc29mdHdhcmUgaXMgZnJlZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFRoaXMKKytHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFwcGxpZXMgdG8gbW9zdCBvZiB0aGUgRnJlZSBTb2Z0d2FyZQorK0ZvdW5kYXRpb24ncyBzb2Z0d2FyZSBhbmQgdG8gYW55IG90aGVyIHByb2dyYW0gd2hvc2UgYXV0aG9ycyBjb21taXQgdG8KKyt1c2luZyBpdC4gIChTb21lIG90aGVyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBzb2Z0d2FyZSBpcyBjb3ZlcmVkIGJ5CisrdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpbnN0ZWFkLikgIFlvdSBjYW4gYXBwbHkgaXQgdG8KKyt5b3VyIHByb2dyYW1zLCB0b28uCisrCisrICBXaGVuIHdlIHNwZWFrIG9mIGZyZWUgc29mdHdhcmUsIHdlIGFyZSByZWZlcnJpbmcgdG8gZnJlZWRvbSwgbm90CisrcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQorK2hhdmUgdGhlIGZyZWVkb20gdG8gZGlzdHJpYnV0ZSBjb3BpZXMgb2YgZnJlZSBzb2Z0d2FyZSAoYW5kIGNoYXJnZSBmb3IKKyt0aGlzIHNlcnZpY2UgaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQKKytpZiB5b3Ugd2FudCBpdCwgdGhhdCB5b3UgY2FuIGNoYW5nZSB0aGUgc29mdHdhcmUgb3IgdXNlIHBpZWNlcyBvZiBpdAorK2luIG5ldyBmcmVlIHByb2dyYW1zOyBhbmQgdGhhdCB5b3Uga25vdyB5b3UgY2FuIGRvIHRoZXNlIHRoaW5ncy4KKysKKysgIFRvIHByb3RlY3QgeW91ciByaWdodHMsIHdlIG5lZWQgdG8gbWFrZSByZXN0cmljdGlvbnMgdGhhdCBmb3JiaWQKKythbnlvbmUgdG8gZGVueSB5b3UgdGhlc2UgcmlnaHRzIG9yIHRvIGFzayB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuCisrVGhlc2UgcmVzdHJpY3Rpb25zIHRyYW5zbGF0ZSB0byBjZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMgZm9yIHlvdSBpZiB5b3UKKytkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUgc29mdHdhcmUsIG9yIGlmIHlvdSBtb2RpZnkgaXQuCisrCisrICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCisrZ3JhdGlzIG9yIGZvciBhIGZlZSwgeW91IG11c3QgZ2l2ZSB0aGUgcmVjaXBpZW50cyBhbGwgdGhlIHJpZ2h0cyB0aGF0CisreW91IGhhdmUuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUgb3IgY2FuIGdldCB0aGUKKytzb3VyY2UgY29kZS4gIEFuZCB5b3UgbXVzdCBzaG93IHRoZW0gdGhlc2UgdGVybXMgc28gdGhleSBrbm93IHRoZWlyCisrcmlnaHRzLgorKworKyAgV2UgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczogKDEpIGNvcHlyaWdodCB0aGUgc29mdHdhcmUsIGFuZAorKygyKSBvZmZlciB5b3UgdGhpcyBsaWNlbnNlIHdoaWNoIGdpdmVzIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksCisrZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IHRoZSBzb2Z0d2FyZS4KKysKKysgIEFsc28sIGZvciBlYWNoIGF1dGhvcidzIHByb3RlY3Rpb24gYW5kIG91cnMsIHdlIHdhbnQgdG8gbWFrZSBjZXJ0YWluCisrdGhhdCBldmVyeW9uZSB1bmRlcnN0YW5kcyB0aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5IGZvciB0aGlzIGZyZWUKKytzb2Z0d2FyZS4gIElmIHRoZSBzb2Z0d2FyZSBpcyBtb2RpZmllZCBieSBzb21lb25lIGVsc2UgYW5kIHBhc3NlZCBvbiwgd2UKKyt3YW50IGl0cyByZWNpcGllbnRzIHRvIGtub3cgdGhhdCB3aGF0IHRoZXkgaGF2ZSBpcyBub3QgdGhlIG9yaWdpbmFsLCBzbworK3RoYXQgYW55IHByb2JsZW1zIGludHJvZHVjZWQgYnkgb3RoZXJzIHdpbGwgbm90IHJlZmxlY3Qgb24gdGhlIG9yaWdpbmFsCisrYXV0aG9ycycgcmVwdXRhdGlvbnMuCisrCisrICBGaW5hbGx5LCBhbnkgZnJlZSBwcm9ncmFtIGlzIHRocmVhdGVuZWQgY29uc3RhbnRseSBieSBzb2Z0d2FyZQorK3BhdGVudHMuICBXZSB3aXNoIHRvIGF2b2lkIHRoZSBkYW5nZXIgdGhhdCByZWRpc3RyaWJ1dG9ycyBvZiBhIGZyZWUKKytwcm9ncmFtIHdpbGwgaW5kaXZpZHVhbGx5IG9idGFpbiBwYXRlbnQgbGljZW5zZXMsIGluIGVmZmVjdCBtYWtpbmcgdGhlCisrcHJvZ3JhbSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgd2UgaGF2ZSBtYWRlIGl0IGNsZWFyIHRoYXQgYW55CisrcGF0ZW50IG11c3QgYmUgbGljZW5zZWQgZm9yIGV2ZXJ5b25lJ3MgZnJlZSB1c2Ugb3Igbm90IGxpY2Vuc2VkIGF0IGFsbC4KKysKKysgIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCisrbW9kaWZpY2F0aW9uIGZvbGxvdy4KKysKKysJCSAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQorKyAgIFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBDT1BZSU5HLCBESVNUUklCVVRJT04gQU5EIE1PRElGSUNBVElPTgorKworKyAgMC4gVGhpcyBMaWNlbnNlIGFwcGxpZXMgdG8gYW55IHByb2dyYW0gb3Igb3RoZXIgd29yayB3aGljaCBjb250YWlucworK2Egbm90aWNlIHBsYWNlZCBieSB0aGUgY29weXJpZ2h0IGhvbGRlciBzYXlpbmcgaXQgbWF5IGJlIGRpc3RyaWJ1dGVkCisrdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFRoZSAiUHJvZ3JhbSIsIGJlbG93LAorK3JlZmVycyB0byBhbnkgc3VjaCBwcm9ncmFtIG9yIHdvcmssIGFuZCBhICJ3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtIgorK21lYW5zIGVpdGhlciB0aGUgUHJvZ3JhbSBvciBhbnkgZGVyaXZhdGl2ZSB3b3JrIHVuZGVyIGNvcHlyaWdodCBsYXc6CisrdGhhdCBpcyB0byBzYXksIGEgd29yayBjb250YWluaW5nIHRoZSBQcm9ncmFtIG9yIGEgcG9ydGlvbiBvZiBpdCwKKytlaXRoZXIgdmVyYmF0aW0gb3Igd2l0aCBtb2RpZmljYXRpb25zIGFuZC9vciB0cmFuc2xhdGVkIGludG8gYW5vdGhlcgorK2xhbmd1YWdlLiAgKEhlcmVpbmFmdGVyLCB0cmFuc2xhdGlvbiBpcyBpbmNsdWRlZCB3aXRob3V0IGxpbWl0YXRpb24gaW4KKyt0aGUgdGVybSAibW9kaWZpY2F0aW9uIi4pICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4KKysKKytBY3Rpdml0aWVzIG90aGVyIHRoYW4gY29weWluZywgZGlzdHJpYnV0aW9uIGFuZCBtb2RpZmljYXRpb24gYXJlIG5vdAorK2NvdmVyZWQgYnkgdGhpcyBMaWNlbnNlOyB0aGV5IGFyZSBvdXRzaWRlIGl0cyBzY29wZS4gIFRoZSBhY3Qgb2YKKytydW5uaW5nIHRoZSBQcm9ncmFtIGlzIG5vdCByZXN0cmljdGVkLCBhbmQgdGhlIG91dHB1dCBmcm9tIHRoZSBQcm9ncmFtCisraXMgY292ZXJlZCBvbmx5IGlmIGl0cyBjb250ZW50cyBjb25zdGl0dXRlIGEgd29yayBiYXNlZCBvbiB0aGUKKytQcm9ncmFtIChpbmRlcGVuZGVudCBvZiBoYXZpbmcgYmVlbiBtYWRlIGJ5IHJ1bm5pbmcgdGhlIFByb2dyYW0pLgorK1doZXRoZXIgdGhhdCBpcyB0cnVlIGRlcGVuZHMgb24gd2hhdCB0aGUgUHJvZ3JhbSBkb2VzLgorKworKyAgMS4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzCisrc291cmNlIGNvZGUgYXMgeW91IHJlY2VpdmUgaXQsIGluIGFueSBtZWRpdW0sIHByb3ZpZGVkIHRoYXQgeW91CisrY29uc3BpY3VvdXNseSBhbmQgYXBwcm9wcmlhdGVseSBwdWJsaXNoIG9uIGVhY2ggY29weSBhbiBhcHByb3ByaWF0ZQorK2NvcHlyaWdodCBub3RpY2UgYW5kIGRpc2NsYWltZXIgb2Ygd2FycmFudHk7IGtlZXAgaW50YWN0IGFsbCB0aGUKKytub3RpY2VzIHRoYXQgcmVmZXIgdG8gdGhpcyBMaWNlbnNlIGFuZCB0byB0aGUgYWJzZW5jZSBvZiBhbnkgd2FycmFudHk7CisrYW5kIGdpdmUgYW55IG90aGVyIHJlY2lwaWVudHMgb2YgdGhlIFByb2dyYW0gYSBjb3B5IG9mIHRoaXMgTGljZW5zZQorK2Fsb25nIHdpdGggdGhlIFByb2dyYW0uCisrCisrWW91IG1heSBjaGFyZ2UgYSBmZWUgZm9yIHRoZSBwaHlzaWNhbCBhY3Qgb2YgdHJhbnNmZXJyaW5nIGEgY29weSwgYW5kCisreW91IG1heSBhdCB5b3VyIG9wdGlvbiBvZmZlciB3YXJyYW50eSBwcm90ZWN0aW9uIGluIGV4Y2hhbmdlIGZvciBhIGZlZS4KKysKKysgIDIuIFlvdSBtYXkgbW9kaWZ5IHlvdXIgY29weSBvciBjb3BpZXMgb2YgdGhlIFByb2dyYW0gb3IgYW55IHBvcnRpb24KKytvZiBpdCwgdGh1cyBmb3JtaW5nIGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgYW5kIGNvcHkgYW5kCisrZGlzdHJpYnV0ZSBzdWNoIG1vZGlmaWNhdGlvbnMgb3Igd29yayB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbiAxCisrYWJvdmUsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gbWVldCBhbGwgb2YgdGhlc2UgY29uZGl0aW9uczoKKysKKysgICAgYSkgWW91IG11c3QgY2F1c2UgdGhlIG1vZGlmaWVkIGZpbGVzIHRvIGNhcnJ5IHByb21pbmVudCBub3RpY2VzCisrICAgIHN0YXRpbmcgdGhhdCB5b3UgY2hhbmdlZCB0aGUgZmlsZXMgYW5kIHRoZSBkYXRlIG9mIGFueSBjaGFuZ2UuCisrCisrICAgIGIpIFlvdSBtdXN0IGNhdXNlIGFueSB3b3JrIHRoYXQgeW91IGRpc3RyaWJ1dGUgb3IgcHVibGlzaCwgdGhhdCBpbgorKyAgICB3aG9sZSBvciBpbiBwYXJ0IGNvbnRhaW5zIG9yIGlzIGRlcml2ZWQgZnJvbSB0aGUgUHJvZ3JhbSBvciBhbnkKKysgICAgcGFydCB0aGVyZW9mLCB0byBiZSBsaWNlbnNlZCBhcyBhIHdob2xlIGF0IG5vIGNoYXJnZSB0byBhbGwgdGhpcmQKKysgICAgcGFydGllcyB1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBMaWNlbnNlLgorKworKyAgICBjKSBJZiB0aGUgbW9kaWZpZWQgcHJvZ3JhbSBub3JtYWxseSByZWFkcyBjb21tYW5kcyBpbnRlcmFjdGl2ZWx5CisrICAgIHdoZW4gcnVuLCB5b3UgbXVzdCBjYXVzZSBpdCwgd2hlbiBzdGFydGVkIHJ1bm5pbmcgZm9yIHN1Y2gKKysgICAgaW50ZXJhY3RpdmUgdXNlIGluIHRoZSBtb3N0IG9yZGluYXJ5IHdheSwgdG8gcHJpbnQgb3IgZGlzcGxheSBhbgorKyAgICBhbm5vdW5jZW1lbnQgaW5jbHVkaW5nIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UgYW5kIGEKKysgICAgbm90aWNlIHRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgKG9yIGVsc2UsIHNheWluZyB0aGF0IHlvdSBwcm92aWRlCisrICAgIGEgd2FycmFudHkpIGFuZCB0aGF0IHVzZXJzIG1heSByZWRpc3RyaWJ1dGUgdGhlIHByb2dyYW0gdW5kZXIKKysgICAgdGhlc2UgY29uZGl0aW9ucywgYW5kIHRlbGxpbmcgdGhlIHVzZXIgaG93IHRvIHZpZXcgYSBjb3B5IG9mIHRoaXMKKysgICAgTGljZW5zZS4gIChFeGNlcHRpb246IGlmIHRoZSBQcm9ncmFtIGl0c2VsZiBpcyBpbnRlcmFjdGl2ZSBidXQKKysgICAgZG9lcyBub3Qgbm9ybWFsbHkgcHJpbnQgc3VjaCBhbiBhbm5vdW5jZW1lbnQsIHlvdXIgd29yayBiYXNlZCBvbgorKyAgICB0aGUgUHJvZ3JhbSBpcyBub3QgcmVxdWlyZWQgdG8gcHJpbnQgYW4gYW5ub3VuY2VtZW50LikKKysKKytUaGVzZSByZXF1aXJlbWVudHMgYXBwbHkgdG8gdGhlIG1vZGlmaWVkIHdvcmsgYXMgYSB3aG9sZS4gIElmCisraWRlbnRpZmlhYmxlIHNlY3Rpb25zIG9mIHRoYXQgd29yayBhcmUgbm90IGRlcml2ZWQgZnJvbSB0aGUgUHJvZ3JhbSwKKythbmQgY2FuIGJlIHJlYXNvbmFibHkgY29uc2lkZXJlZCBpbmRlcGVuZGVudCBhbmQgc2VwYXJhdGUgd29ya3MgaW4KKyt0aGVtc2VsdmVzLCB0aGVuIHRoaXMgTGljZW5zZSwgYW5kIGl0cyB0ZXJtcywgZG8gbm90IGFwcGx5IHRvIHRob3NlCisrc2VjdGlvbnMgd2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGVtIGFzIHNlcGFyYXRlIHdvcmtzLiAgQnV0IHdoZW4geW91CisrZGlzdHJpYnV0ZSB0aGUgc2FtZSBzZWN0aW9ucyBhcyBwYXJ0IG9mIGEgd2hvbGUgd2hpY2ggaXMgYSB3b3JrIGJhc2VkCisrb24gdGhlIFByb2dyYW0sIHRoZSBkaXN0cmlidXRpb24gb2YgdGhlIHdob2xlIG11c3QgYmUgb24gdGhlIHRlcm1zIG9mCisrdGhpcyBMaWNlbnNlLCB3aG9zZSBwZXJtaXNzaW9ucyBmb3Igb3RoZXIgbGljZW5zZWVzIGV4dGVuZCB0byB0aGUKKytlbnRpcmUgd2hvbGUsIGFuZCB0aHVzIHRvIGVhY2ggYW5kIGV2ZXJ5IHBhcnQgcmVnYXJkbGVzcyBvZiB3aG8gd3JvdGUgaXQuCisrCisrVGh1cywgaXQgaXMgbm90IHRoZSBpbnRlbnQgb2YgdGhpcyBzZWN0aW9uIHRvIGNsYWltIHJpZ2h0cyBvciBjb250ZXN0CisreW91ciByaWdodHMgdG8gd29yayB3cml0dGVuIGVudGlyZWx5IGJ5IHlvdTsgcmF0aGVyLCB0aGUgaW50ZW50IGlzIHRvCisrZXhlcmNpc2UgdGhlIHJpZ2h0IHRvIGNvbnRyb2wgdGhlIGRpc3RyaWJ1dGlvbiBvZiBkZXJpdmF0aXZlIG9yCisrY29sbGVjdGl2ZSB3b3JrcyBiYXNlZCBvbiB0aGUgUHJvZ3JhbS4KKysKKytJbiBhZGRpdGlvbiwgbWVyZSBhZ2dyZWdhdGlvbiBvZiBhbm90aGVyIHdvcmsgbm90IGJhc2VkIG9uIHRoZSBQcm9ncmFtCisrd2l0aCB0aGUgUHJvZ3JhbSAob3Igd2l0aCBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0pIG9uIGEgdm9sdW1lIG9mCisrYSBzdG9yYWdlIG9yIGRpc3RyaWJ1dGlvbiBtZWRpdW0gZG9lcyBub3QgYnJpbmcgdGhlIG90aGVyIHdvcmsgdW5kZXIKKyt0aGUgc2NvcGUgb2YgdGhpcyBMaWNlbnNlLgorKworKyAgMy4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIChvciBhIHdvcmsgYmFzZWQgb24gaXQsCisrdW5kZXIgU2VjdGlvbiAyKSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0gdW5kZXIgdGhlIHRlcm1zIG9mCisrU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIGRvIG9uZSBvZiB0aGUgZm9sbG93aW5nOgorKworKyAgICBhKSBBY2NvbXBhbnkgaXQgd2l0aCB0aGUgY29tcGxldGUgY29ycmVzcG9uZGluZyBtYWNoaW5lLXJlYWRhYmxlCisrICAgIHNvdXJjZSBjb2RlLCB3aGljaCBtdXN0IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucworKyAgICAxIGFuZCAyIGFib3ZlIG9uIGEgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlOyBvciwKKysKKysgICAgYikgQWNjb21wYW55IGl0IHdpdGggYSB3cml0dGVuIG9mZmVyLCB2YWxpZCBmb3IgYXQgbGVhc3QgdGhyZWUKKysgICAgeWVhcnMsIHRvIGdpdmUgYW55IHRoaXJkIHBhcnR5LCBmb3IgYSBjaGFyZ2Ugbm8gbW9yZSB0aGFuIHlvdXIKKysgICAgY29zdCBvZiBwaHlzaWNhbGx5IHBlcmZvcm1pbmcgc291cmNlIGRpc3RyaWJ1dGlvbiwgYSBjb21wbGV0ZQorKyAgICBtYWNoaW5lLXJlYWRhYmxlIGNvcHkgb2YgdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlIGNvZGUsIHRvIGJlCisrICAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIG9uIGEgbWVkaXVtCisrICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlOyBvciwKKysKKysgICAgYykgQWNjb21wYW55IGl0IHdpdGggdGhlIGluZm9ybWF0aW9uIHlvdSByZWNlaXZlZCBhcyB0byB0aGUgb2ZmZXIKKysgICAgdG8gZGlzdHJpYnV0ZSBjb3JyZXNwb25kaW5nIHNvdXJjZSBjb2RlLiAgKFRoaXMgYWx0ZXJuYXRpdmUgaXMKKysgICAgYWxsb3dlZCBvbmx5IGZvciBub25jb21tZXJjaWFsIGRpc3RyaWJ1dGlvbiBhbmQgb25seSBpZiB5b3UKKysgICAgcmVjZWl2ZWQgdGhlIHByb2dyYW0gaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtIHdpdGggc3VjaAorKyAgICBhbiBvZmZlciwgaW4gYWNjb3JkIHdpdGggU3Vic2VjdGlvbiBiIGFib3ZlLikKKysKKytUaGUgc291cmNlIGNvZGUgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsgZm9yCisrbWFraW5nIG1vZGlmaWNhdGlvbnMgdG8gaXQuICBGb3IgYW4gZXhlY3V0YWJsZSB3b3JrLCBjb21wbGV0ZSBzb3VyY2UKKytjb2RlIG1lYW5zIGFsbCB0aGUgc291cmNlIGNvZGUgZm9yIGFsbCBtb2R1bGVzIGl0IGNvbnRhaW5zLCBwbHVzIGFueQorK2Fzc29jaWF0ZWQgaW50ZXJmYWNlIGRlZmluaXRpb24gZmlsZXMsIHBsdXMgdGhlIHNjcmlwdHMgdXNlZCB0bworK2NvbnRyb2wgY29tcGlsYXRpb24gYW5kIGluc3RhbGxhdGlvbiBvZiB0aGUgZXhlY3V0YWJsZS4gIEhvd2V2ZXIsIGFzIGEKKytzcGVjaWFsIGV4Y2VwdGlvbiwgdGhlIHNvdXJjZSBjb2RlIGRpc3RyaWJ1dGVkIG5lZWQgbm90IGluY2x1ZGUKKythbnl0aGluZyB0aGF0IGlzIG5vcm1hbGx5IGRpc3RyaWJ1dGVkIChpbiBlaXRoZXIgc291cmNlIG9yIGJpbmFyeQorK2Zvcm0pIHdpdGggdGhlIG1ham9yIGNvbXBvbmVudHMgKGNvbXBpbGVyLCBrZXJuZWwsIGFuZCBzbyBvbikgb2YgdGhlCisrb3BlcmF0aW5nIHN5c3RlbSBvbiB3aGljaCB0aGUgZXhlY3V0YWJsZSBydW5zLCB1bmxlc3MgdGhhdCBjb21wb25lbnQKKytpdHNlbGYgYWNjb21wYW5pZXMgdGhlIGV4ZWN1dGFibGUuCisrCisrSWYgZGlzdHJpYnV0aW9uIG9mIGV4ZWN1dGFibGUgb3Igb2JqZWN0IGNvZGUgaXMgbWFkZSBieSBvZmZlcmluZworK2FjY2VzcyB0byBjb3B5IGZyb20gYSBkZXNpZ25hdGVkIHBsYWNlLCB0aGVuIG9mZmVyaW5nIGVxdWl2YWxlbnQKKythY2Nlc3MgdG8gY29weSB0aGUgc291cmNlIGNvZGUgZnJvbSB0aGUgc2FtZSBwbGFjZSBjb3VudHMgYXMKKytkaXN0cmlidXRpb24gb2YgdGhlIHNvdXJjZSBjb2RlLCBldmVuIHRob3VnaCB0aGlyZCBwYXJ0aWVzIGFyZSBub3QKKytjb21wZWxsZWQgdG8gY29weSB0aGUgc291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLgorKworKyAgNC4gWW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIHRoZSBQcm9ncmFtCisrZXhjZXB0IGFzIGV4cHJlc3NseSBwcm92aWRlZCB1bmRlciB0aGlzIExpY2Vuc2UuICBBbnkgYXR0ZW1wdAorK290aGVyd2lzZSB0byBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2Ugb3IgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBpcworK3ZvaWQsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgdGVybWluYXRlIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgTGljZW5zZS4KKytIb3dldmVyLCBwYXJ0aWVzIHdobyBoYXZlIHJlY2VpdmVkIGNvcGllcywgb3IgcmlnaHRzLCBmcm9tIHlvdSB1bmRlcgorK3RoaXMgTGljZW5zZSB3aWxsIG5vdCBoYXZlIHRoZWlyIGxpY2Vuc2VzIHRlcm1pbmF0ZWQgc28gbG9uZyBhcyBzdWNoCisrcGFydGllcyByZW1haW4gaW4gZnVsbCBjb21wbGlhbmNlLgorKworKyAgNS4gWW91IGFyZSBub3QgcmVxdWlyZWQgdG8gYWNjZXB0IHRoaXMgTGljZW5zZSwgc2luY2UgeW91IGhhdmUgbm90Cisrc2lnbmVkIGl0LiAgSG93ZXZlciwgbm90aGluZyBlbHNlIGdyYW50cyB5b3UgcGVybWlzc2lvbiB0byBtb2RpZnkgb3IKKytkaXN0cmlidXRlIHRoZSBQcm9ncmFtIG9yIGl0cyBkZXJpdmF0aXZlIHdvcmtzLiAgVGhlc2UgYWN0aW9ucyBhcmUKKytwcm9oaWJpdGVkIGJ5IGxhdyBpZiB5b3UgZG8gbm90IGFjY2VwdCB0aGlzIExpY2Vuc2UuICBUaGVyZWZvcmUsIGJ5CisrbW9kaWZ5aW5nIG9yIGRpc3RyaWJ1dGluZyB0aGUgUHJvZ3JhbSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlCisrUHJvZ3JhbSksIHlvdSBpbmRpY2F0ZSB5b3VyIGFjY2VwdGFuY2Ugb2YgdGhpcyBMaWNlbnNlIHRvIGRvIHNvLCBhbmQKKythbGwgaXRzIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpbmcgb3IgbW9kaWZ5aW5nCisrdGhlIFByb2dyYW0gb3Igd29ya3MgYmFzZWQgb24gaXQuCisrCisrICA2LiBFYWNoIHRpbWUgeW91IHJlZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlCisrUHJvZ3JhbSksIHRoZSByZWNpcGllbnQgYXV0b21hdGljYWxseSByZWNlaXZlcyBhIGxpY2Vuc2UgZnJvbSB0aGUKKytvcmlnaW5hbCBsaWNlbnNvciB0byBjb3B5LCBkaXN0cmlidXRlIG9yIG1vZGlmeSB0aGUgUHJvZ3JhbSBzdWJqZWN0IHRvCisrdGhlc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMuICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIKKytyZXN0cmljdGlvbnMgb24gdGhlIHJlY2lwaWVudHMnIGV4ZXJjaXNlIG9mIHRoZSByaWdodHMgZ3JhbnRlZCBoZXJlaW4uCisrWW91IGFyZSBub3QgcmVzcG9uc2libGUgZm9yIGVuZm9yY2luZyBjb21wbGlhbmNlIGJ5IHRoaXJkIHBhcnRpZXMgdG8KKyt0aGlzIExpY2Vuc2UuCisrCisrICA3LiBJZiwgYXMgYSBjb25zZXF1ZW5jZSBvZiBhIGNvdXJ0IGp1ZGdtZW50IG9yIGFsbGVnYXRpb24gb2YgcGF0ZW50CisraW5mcmluZ2VtZW50IG9yIGZvciBhbnkgb3RoZXIgcmVhc29uIChub3QgbGltaXRlZCB0byBwYXRlbnQgaXNzdWVzKSwKKytjb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hldGhlciBieSBjb3VydCBvcmRlciwgYWdyZWVtZW50IG9yCisrb3RoZXJ3aXNlKSB0aGF0IGNvbnRyYWRpY3QgdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLCB0aGV5IGRvIG5vdAorK2V4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90CisrZGlzdHJpYnV0ZSBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcworK0xpY2Vuc2UgYW5kIGFueSBvdGhlciBwZXJ0aW5lbnQgb2JsaWdhdGlvbnMsIHRoZW4gYXMgYSBjb25zZXF1ZW5jZSB5b3UKKyttYXkgbm90IGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gYXQgYWxsLiAgRm9yIGV4YW1wbGUsIGlmIGEgcGF0ZW50CisrbGljZW5zZSB3b3VsZCBub3QgcGVybWl0IHJveWFsdHktZnJlZSByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBieQorK2FsbCB0aG9zZSB3aG8gcmVjZWl2ZSBjb3BpZXMgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSB0aHJvdWdoIHlvdSwgdGhlbgorK3RoZSBvbmx5IHdheSB5b3UgY291bGQgc2F0aXNmeSBib3RoIGl0IGFuZCB0aGlzIExpY2Vuc2Ugd291bGQgYmUgdG8KKytyZWZyYWluIGVudGlyZWx5IGZyb20gZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtLgorKworK0lmIGFueSBwb3J0aW9uIG9mIHRoaXMgc2VjdGlvbiBpcyBoZWxkIGludmFsaWQgb3IgdW5lbmZvcmNlYWJsZSB1bmRlcgorK2FueSBwYXJ0aWN1bGFyIGNpcmN1bXN0YW5jZSwgdGhlIGJhbGFuY2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8KKythcHBseSBhbmQgdGhlIHNlY3Rpb24gYXMgYSB3aG9sZSBpcyBpbnRlbmRlZCB0byBhcHBseSBpbiBvdGhlcgorK2NpcmN1bXN0YW5jZXMuCisrCisrSXQgaXMgbm90IHRoZSBwdXJwb3NlIG9mIHRoaXMgc2VjdGlvbiB0byBpbmR1Y2UgeW91IHRvIGluZnJpbmdlIGFueQorK3BhdGVudHMgb3Igb3RoZXIgcHJvcGVydHkgcmlnaHQgY2xhaW1zIG9yIHRvIGNvbnRlc3QgdmFsaWRpdHkgb2YgYW55Cisrc3VjaCBjbGFpbXM7IHRoaXMgc2VjdGlvbiBoYXMgdGhlIHNvbGUgcHVycG9zZSBvZiBwcm90ZWN0aW5nIHRoZQorK2ludGVncml0eSBvZiB0aGUgZnJlZSBzb2Z0d2FyZSBkaXN0cmlidXRpb24gc3lzdGVtLCB3aGljaCBpcworK2ltcGxlbWVudGVkIGJ5IHB1YmxpYyBsaWNlbnNlIHByYWN0aWNlcy4gIE1hbnkgcGVvcGxlIGhhdmUgbWFkZQorK2dlbmVyb3VzIGNvbnRyaWJ1dGlvbnMgdG8gdGhlIHdpZGUgcmFuZ2Ugb2Ygc29mdHdhcmUgZGlzdHJpYnV0ZWQKKyt0aHJvdWdoIHRoYXQgc3lzdGVtIGluIHJlbGlhbmNlIG9uIGNvbnNpc3RlbnQgYXBwbGljYXRpb24gb2YgdGhhdAorK3N5c3RlbTsgaXQgaXMgdXAgdG8gdGhlIGF1dGhvci9kb25vciB0byBkZWNpZGUgaWYgaGUgb3Igc2hlIGlzIHdpbGxpbmcKKyt0byBkaXN0cmlidXRlIHNvZnR3YXJlIHRocm91Z2ggYW55IG90aGVyIHN5c3RlbSBhbmQgYSBsaWNlbnNlZSBjYW5ub3QKKytpbXBvc2UgdGhhdCBjaG9pY2UuCisrCisrVGhpcyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVhciB3aGF0IGlzIGJlbGlldmVkIHRvCisrYmUgYSBjb25zZXF1ZW5jZSBvZiB0aGUgcmVzdCBvZiB0aGlzIExpY2Vuc2UuCisrCisrICA4LiBJZiB0aGUgZGlzdHJpYnV0aW9uIGFuZC9vciB1c2Ugb2YgdGhlIFByb2dyYW0gaXMgcmVzdHJpY3RlZCBpbgorK2NlcnRhaW4gY291bnRyaWVzIGVpdGhlciBieSBwYXRlbnRzIG9yIGJ5IGNvcHlyaWdodGVkIGludGVyZmFjZXMsIHRoZQorK29yaWdpbmFsIGNvcHlyaWdodCBob2xkZXIgd2hvIHBsYWNlcyB0aGUgUHJvZ3JhbSB1bmRlciB0aGlzIExpY2Vuc2UKKyttYXkgYWRkIGFuIGV4cGxpY2l0IGdlb2dyYXBoaWNhbCBkaXN0cmlidXRpb24gbGltaXRhdGlvbiBleGNsdWRpbmcKKyt0aG9zZSBjb3VudHJpZXMsIHNvIHRoYXQgZGlzdHJpYnV0aW9uIGlzIHBlcm1pdHRlZCBvbmx5IGluIG9yIGFtb25nCisrY291bnRyaWVzIG5vdCB0aHVzIGV4Y2x1ZGVkLiAgSW4gc3VjaCBjYXNlLCB0aGlzIExpY2Vuc2UgaW5jb3Jwb3JhdGVzCisrdGhlIGxpbWl0YXRpb24gYXMgaWYgd3JpdHRlbiBpbiB0aGUgYm9keSBvZiB0aGlzIExpY2Vuc2UuCisrCisrICA5LiBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucworK29mIHRoZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVyc2lvbnMgd2lsbAorK2JlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bworK2FkZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNvbmNlcm5zLgorKworK0VhY2ggdmVyc2lvbiBpcyBnaXZlbiBhIGRpc3Rpbmd1aXNoaW5nIHZlcnNpb24gbnVtYmVyLiAgSWYgdGhlIFByb2dyYW0KKytzcGVjaWZpZXMgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGlzIExpY2Vuc2Ugd2hpY2ggYXBwbGllcyB0byBpdCBhbmQgImFueQorK2xhdGVyIHZlcnNpb24iLCB5b3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMKKytlaXRoZXIgb2YgdGhhdCB2ZXJzaW9uIG9yIG9mIGFueSBsYXRlciB2ZXJzaW9uIHB1Ymxpc2hlZCBieSB0aGUgRnJlZQorK1NvZnR3YXJlIEZvdW5kYXRpb24uICBJZiB0aGUgUHJvZ3JhbSBkb2VzIG5vdCBzcGVjaWZ5IGEgdmVyc2lvbiBudW1iZXIgb2YKKyt0aGlzIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCisrRm91bmRhdGlvbi4KKysKKysgIDEwLiBJZiB5b3Ugd2lzaCB0byBpbmNvcnBvcmF0ZSBwYXJ0cyBvZiB0aGUgUHJvZ3JhbSBpbnRvIG90aGVyIGZyZWUKKytwcm9ncmFtcyB3aG9zZSBkaXN0cmlidXRpb24gY29uZGl0aW9ucyBhcmUgZGlmZmVyZW50LCB3cml0ZSB0byB0aGUgYXV0aG9yCisrdG8gYXNrIGZvciBwZXJtaXNzaW9uLiAgRm9yIHNvZnR3YXJlIHdoaWNoIGlzIGNvcHlyaWdodGVkIGJ5IHRoZSBGcmVlCisrU29mdHdhcmUgRm91bmRhdGlvbiwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgd2Ugc29tZXRpbWVzCisrbWFrZSBleGNlcHRpb25zIGZvciB0aGlzLiAgT3VyIGRlY2lzaW9uIHdpbGwgYmUgZ3VpZGVkIGJ5IHRoZSB0d28gZ29hbHMKKytvZiBwcmVzZXJ2aW5nIHRoZSBmcmVlIHN0YXR1cyBvZiBhbGwgZGVyaXZhdGl2ZXMgb2Ygb3VyIGZyZWUgc29mdHdhcmUgYW5kCisrb2YgcHJvbW90aW5nIHRoZSBzaGFyaW5nIGFuZCByZXVzZSBvZiBzb2Z0d2FyZSBnZW5lcmFsbHkuCisrCisrCQkJICAgIE5PIFdBUlJBTlRZCisrCisrICAxMS4gQkVDQVVTRSBUSEUgUFJPR1JBTSBJUyBMSUNFTlNFRCBGUkVFIE9GIENIQVJHRSwgVEhFUkUgSVMgTk8gV0FSUkFOVFkKKytGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZIEFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4KKytPVEhFUldJU0UgU1RBVEVEIElOIFdSSVRJTkcgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORC9PUiBPVEhFUiBQQVJUSUVTCisrUFJPVklERSBUSEUgUFJPR1JBTSAiQVMgSVMiIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTRUQKKytPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorK01FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBUSEUgRU5USVJFIFJJU0sgQVMKKytUTyBUSEUgUVVBTElUWSBBTkQgUEVSRk9STUFOQ0UgT0YgVEhFIFBST0dSQU0gSVMgV0lUSCBZT1UuICBTSE9VTEQgVEhFCisrUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YgQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsCisrUkVQQUlSIE9SIENPUlJFQ1RJT04uCisrCisrICAxMi4gSU4gTk8gRVZFTlQgVU5MRVNTIFJFUVVJUkVEIEJZIEFQUExJQ0FCTEUgTEFXIE9SIEFHUkVFRCBUTyBJTiBXUklUSU5HCisrV0lMTCBBTlkgQ09QWVJJR0hUIEhPTERFUiwgT1IgQU5ZIE9USEVSIFBBUlRZIFdITyBNQVkgTU9ESUZZIEFORC9PUgorK1JFRElTVFJJQlVURSBUSEUgUFJPR1JBTSBBUyBQRVJNSVRURUQgQUJPVkUsIEJFIExJQUJMRSBUTyBZT1UgRk9SIERBTUFHRVMsCisrSU5DTFVESU5HIEFOWSBHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HCisrT1VUIE9GIFRIRSBVU0UgT1IgSU5BQklMSVRZIFRPIFVTRSBUSEUgUFJPR1JBTSAoSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRAorK1RPIExPU1MgT0YgREFUQSBPUiBEQVRBIEJFSU5HIFJFTkRFUkVEIElOQUNDVVJBVEUgT1IgTE9TU0VTIFNVU1RBSU5FRCBCWQorK1lPVSBPUiBUSElSRCBQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSCisrUFJPR1JBTVMpLCBFVkVOIElGIFNVQ0ggSE9MREVSIE9SIE9USEVSIFBBUlRZIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFCisrUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0VTLgorKworKwkJICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKKysKKysJICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcworKworKyAgSWYgeW91IGRldmVsb3AgYSBuZXcgcHJvZ3JhbSwgYW5kIHlvdSB3YW50IGl0IHRvIGJlIG9mIHRoZSBncmVhdGVzdAorK3Bvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKKytmcmVlIHNvZnR3YXJlIHdoaWNoIGV2ZXJ5b25lIGNhbiByZWRpc3RyaWJ1dGUgYW5kIGNoYW5nZSB1bmRlciB0aGVzZSB0ZXJtcy4KKysKKysgIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CisrdG8gYXR0YWNoIHRoZW0gdG8gdGhlIHN0YXJ0IG9mIGVhY2ggc291cmNlIGZpbGUgdG8gbW9zdCBlZmZlY3RpdmVseQorK2NvbnZleSB0aGUgZXhjbHVzaW9uIG9mIHdhcnJhbnR5OyBhbmQgZWFjaCBmaWxlIHNob3VsZCBoYXZlIGF0IGxlYXN0CisrdGhlICJjb3B5cmlnaHQiIGxpbmUgYW5kIGEgcG9pbnRlciB0byB3aGVyZSB0aGUgZnVsbCBub3RpY2UgaXMgZm91bmQuCisrCisrICAgIDxvbmUgbGluZSB0byBnaXZlIHRoZSBwcm9ncmFtJ3MgbmFtZSBhbmQgYSBicmllZiBpZGVhIG9mIHdoYXQgaXQgZG9lcy4+CisrICAgIENvcHlyaWdodCAoQykgPHllYXI+ICA8bmFtZSBvZiBhdXRob3I+CisrCisrICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisrICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisrICAgIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisrICAgIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisrCisrQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCisrCisrSWYgdGhlIHByb2dyYW0gaXMgaW50ZXJhY3RpdmUsIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQgbm90aWNlIGxpa2UgdGhpcworK3doZW4gaXQgc3RhcnRzIGluIGFuIGludGVyYWN0aXZlIG1vZGU6CisrCisrICAgIEdub21vdmlzaW9uIHZlcnNpb24gNjksIENvcHlyaWdodCAoQykgeWVhciBuYW1lIG9mIGF1dGhvcgorKyAgICBHbm9tb3Zpc2lvbiBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCisrICAgIFRoaXMgaXMgZnJlZSBzb2Z0d2FyZSwgYW5kIHlvdSBhcmUgd2VsY29tZSB0byByZWRpc3RyaWJ1dGUgaXQKKysgICAgdW5kZXIgY2VydGFpbiBjb25kaXRpb25zOyB0eXBlIGBzaG93IGMnIGZvciBkZXRhaWxzLgorKworK1RoZSBoeXBvdGhldGljYWwgY29tbWFuZHMgYHNob3cgdycgYW5kIGBzaG93IGMnIHNob3VsZCBzaG93IHRoZSBhcHByb3ByaWF0ZQorK3BhcnRzIG9mIHRoZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgT2YgY291cnNlLCB0aGUgY29tbWFuZHMgeW91IHVzZSBtYXkKKytiZSBjYWxsZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYHNob3cgdycgYW5kIGBzaG93IGMnOyB0aGV5IGNvdWxkIGV2ZW4gYmUKKyttb3VzZS1jbGlja3Mgb3IgbWVudSBpdGVtcy0td2hhdGV2ZXIgc3VpdHMgeW91ciBwcm9ncmFtLgorKworK1lvdSBzaG91bGQgYWxzbyBnZXQgeW91ciBlbXBsb3llciAoaWYgeW91IHdvcmsgYXMgYSBwcm9ncmFtbWVyKSBvciB5b3VyCisrc2Nob29sLCBpZiBhbnksIHRvIHNpZ24gYSAiY29weXJpZ2h0IGRpc2NsYWltZXIiIGZvciB0aGUgcHJvZ3JhbSwgaWYKKytuZWNlc3NhcnkuICBIZXJlIGlzIGEgc2FtcGxlOyBhbHRlciB0aGUgbmFtZXM6CisrCisrICBZb3lvZHluZSwgSW5jLiwgaGVyZWJ5IGRpc2NsYWltcyBhbGwgY29weXJpZ2h0IGludGVyZXN0IGluIHRoZSBwcm9ncmFtCisrICBgR25vbW92aXNpb24nICh3aGljaCBtYWtlcyBwYXNzZXMgYXQgY29tcGlsZXJzKSB3cml0dGVuIGJ5IEphbWVzIEhhY2tlci4KKysKKysgIDxzaWduYXR1cmUgb2YgVHkgQ29vbj4sIDEgQXByaWwgMTk4OQorKyAgVHkgQ29vbiwgUHJlc2lkZW50IG9mIFZpY2UKKysKKytUaGlzIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtIGludG8KKytwcm9wcmlldGFyeSBwcm9ncmFtcy4gIElmIHlvdXIgcHJvZ3JhbSBpcyBhIHN1YnJvdXRpbmUgbGlicmFyeSwgeW91IG1heQorK2NvbnNpZGVyIGl0IG1vcmUgdXNlZnVsIHRvIHBlcm1pdCBsaW5raW5nIHByb3ByaWV0YXJ5IGFwcGxpY2F0aW9ucyB3aXRoIHRoZQorK2xpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsCisrUHVibGljIExpY2Vuc2UgaW5zdGVhZCBvZiB0aGlzIExpY2Vuc2UuCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExLWNvbW1vbi94c2VydmVyLW5vZG0taW5pdC94c2VydmVyLW5vZG0gYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExLWNvbW1vbi94c2VydmVyLW5vZG0taW5pdC94c2VydmVyLW5vZG0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmZhMGE4ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94MTEtY29tbW9uL3hzZXJ2ZXItbm9kbS1pbml0L3hzZXJ2ZXItbm9kbQpAQCAtMCwwICsxLDY1IEBACisjIS9iaW4vc2gKKyMKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6IHhzZXJ2ZXIKKyMgUmVxdWlyZWQtU3RhcnQ6ICRsb2NhbF9mcyAkcmVtb3RlX2ZzIGRidXMKKyMgUmVxdWlyZWQtU3RvcDogJGxvY2FsX2ZzICRyZW1vdGVfZnMKKyMgRGVmYXVsdC1TdGFydDogICAgIDUKKyMgRGVmYXVsdC1TdG9wOiAgICAgIDAgMSAyIDMgNgorIyMjIEVORCBJTklUIElORk8KKwora2lsbHByb2MoKSB7ICAgICAgICAgICAgIyBraWxsIHRoZSBuYW1lZCBwcm9jZXNzKGVzKQorICAgICAgICBwaWQ9YC9iaW4vcGlkb2YgJDFgCisgICAgICAgIFsgIiRwaWQiICE9ICIiIF0gJiYga2lsbCAkcGlkCit9CisKK3JlYWQgQ01ETElORSA8IC9wcm9jL2NtZGxpbmUKK2ZvciB4IGluICRDTURMSU5FOyBkbworICAgICAgICBjYXNlICR4IGluCisgICAgICAgIHgxMT1mYWxzZSkKKwkJZWNobyAiWCBTZXJ2ZXIgZGlzYWJsZWQiIAorCQlleGl0IDA7CisgICAgICAgICAgICAgICAgOzsKKyAgICAgICAgZXNhYworZG9uZQorCitjYXNlICIkMSIgaW4KKyAgc3RhcnQpCisgICAgICAgLiAvZXRjL3Byb2ZpbGUKKyAgICAgICB1c2VybmFtZT1yb290CisgICAgICAgZWNobyAiU3RhcnRpbmcgWHNlcnZlciIKKyAgICAgICBpZiBbIC1mIC9ldGMvWDExL1h1c2VybmFtZSBdOyB0aGVuCisgICAgICAgICAgIHVzZXJuYW1lPWBjYXQgL2V0Yy9YMTEvWHVzZXJuYW1lYAorICAgICAgICAgICAjIHNldHRpbmcgZm9yIHJvb3RsZXNzIFgKKyAgICAgICAgICAgY2htb2Qgbyt3IC92YXIvbG9nCisgICAgICAgICAgIGNobW9kIGcrciAvZGV2L3R0eVswLTNdCisgICAgICAgICAgICMgaGlkcmF3IGRldmljZSBpcyBwcm9iYWJseSBuZWVkZWQKKyAgICAgICAgICAgaWYgWyAtZSAvZGV2L2hpZHJhdzAgXTsgdGhlbgorICAgICAgICAgICAgICAgY2htb2QgbytydyAvZGV2L2hpZHJhdyoKKyAgICAgICAgICAgZmkKKyAgICAgICBmaQorICAgICAgICMgVXNpbmcgc3UgcmF0aGVyIHRoYW4gc3VkbyBhcyBsYXRlc3QgMS44LjEgY2F1c2UgZmFpbHVyZSBbWU9DVE8gIzEyMTFdCisgICAgICAgc3UgLWwgLWMgJy9ldGMvWDExL1hzZXJ2ZXImJyAkdXNlcm5hbWUgCisgICAgICAgIyBXYWl0IGZvciB0aGUgZGVza3RvcCB0byBzYXkgaXRzIGZpbmlzaGVkIGxvYWRpbmcKKyAgICAgICAjIGJlZm9yZSBsb2FkaW5nIHRoZSByZXN0IG9mIHRoZSBzeXN0ZW0KKyAgICAgICAjIGRidXMtd2FpdCBvcmcubWF0Y2hib3hfcHJvamVjdC5kZXNrdG9wIExvYWRlZAorICA7OworCisgIHN0b3ApCisgICAgICAgIGVjaG8gIlN0b3BwaW5nIFhTZXJ2ZXIiCisgICAgICAgIGtpbGxwcm9jIHhpbml0CisgICAgICAgIHNsZWVwIDEKKyAgICAgICAgY2h2dCAxICYKKyAgOzsKKworICByZXN0YXJ0KQorCSQwIHN0b3AKKyAgICAgICAgJDAgc3RhcnQKKyAgOzsKKworICAqKQorICAgICAgICBlY2hvICJ1c2FnZTogJDAgeyBzdGFydCB8IHN0b3AgfCByZXN0YXJ0IH0iCisgIDs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3gxMS1jb21tb24veHNlcnZlci1ub2RtLWluaXQveHNlcnZlci1ub2RtLmNvbmYgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExLWNvbW1vbi94c2VydmVyLW5vZG0taW5pdC94c2VydmVyLW5vZG0uY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzA1ODJhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3gxMS1jb21tb24veHNlcnZlci1ub2RtLWluaXQveHNlcnZlci1ub2RtLmNvbmYKQEAgLTAsMCArMSBAQAorSE9NRT0vaG9tZS9yb290CmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExLWNvbW1vbi94c2VydmVyLW5vZG0taW5pdC94c2VydmVyLW5vZG0uc2VydmljZSBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94MTEtY29tbW9uL3hzZXJ2ZXItbm9kbS1pbml0L3hzZXJ2ZXItbm9kbS5zZXJ2aWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyZDk3OWYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExLWNvbW1vbi94c2VydmVyLW5vZG0taW5pdC94c2VydmVyLW5vZG0uc2VydmljZQpAQCAtMCwwICsxLDEwIEBACitbVW5pdF0KK0Rlc2NyaXB0aW9uPVhzZXJ2ZXIgc3RhcnR1cCB3aXRob3V0IGEgZGlzcGxheSBtYW5hZ2VyCisKK1tTZXJ2aWNlXQorVXNlcj1yb290CitFbnZpcm9ubWVudEZpbGU9L2V0Yy9kZWZhdWx0L3hzZXJ2ZXItbm9kbQorRXhlY1N0YXJ0PS9ldGMvWDExL1hzZXJ2ZXIKKworW0luc3RhbGxdCitBbGlhcz1kaXNwbGF5LW1hbmFnZXIuc2VydmljZQpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy9maWxlcy9lbmRpYW4tZml4LnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy9maWxlcy9lbmRpYW4tZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyYTUzOGIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL2ZpbGVzL2VuZGlhbi1maXgucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorbGlidm5jc2VydmVyOiByZXBsYWNlIExJQlZOQ1NFUlZFUl9XT1JEU19CSUdFTkRJQU4gd2l0aCBXT1JEU19CSUdFTkRJQU4KKworc2luY2UgbWFjcm8gQUNfQ19CSUdFTkRJQU4gaXMgdXNlZCBpbiBhdXRvY29uZiBhbmQgV09SRFNfQklHRU5ESUFOIGlzCithdXRvbWF0aWNhbGx5IHNldCBmb3IgZGlmZmVyZW50IGFyY2gsIGl0IGlzIGJldHRlciB0byB1c2UgV09SRFNfQklHRU5ESUFOCitpbnN0ZWFkIG9mIExJQlZOQ1NFUlZFUl9XT1JEU19CSUdFTkRJQU4sIHdoaWNoIGN1YXNlIGlzc3VlIGluIG1pcHMuCisKK1NpZ25lZC1vZmYtYnk6IFl1IEtlIDxrZS55dUBpbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitkaWZmIC0tZ2l0IGEvbGlidm5jc2VydmVyL21haW4uYyBiL2xpYnZuY3NlcnZlci9tYWluLmMKK2luZGV4IGI2YmQ5MzAuLjhiYmI3YmYgMTAwNjQ0CistLS0gYS9saWJ2bmNzZXJ2ZXIvbWFpbi5jCisrKysgYi9saWJ2bmNzZXJ2ZXIvbWFpbi5jCitAQCAtNDcsNyArNDcsNyBAQCBzdGF0aWMgTVVURVgoZXh0TXV0ZXgpOworIAorIHN0YXRpYyBpbnQgcmZiRW5hYmxlTG9nZ2luZz0xOworIAorLSNpZmRlZiBMSUJWTkNTRVJWRVJfV09SRFNfQklHRU5ESUFOCisrI2lmZGVmIFdPUkRTX0JJR0VORElBTgorIGNoYXIgcmZiRW5kaWFuVGVzdCA9ICgxPT0wKTsKKyAjZWxzZQorIGNoYXIgcmZiRW5kaWFuVGVzdCA9ICgxPT0xKTsKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy9maWxlcy9zdGFydGluZy1maXgucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveDExdm5jL2ZpbGVzL3N0YXJ0aW5nLWZpeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjJlNDA1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy9maWxlcy9zdGFydGluZy1maXgucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorIi1ndWkiICYgIi1yZmJwb3J0IiByZXF1aXJlICJ3aXNoIiBpbnN0YWxsZWQsIG9yIGVsc2UgeDExdm5jIGZhaWxzIHRvIHN0YXJ0LgorUmVtb3ZpbmcgdGhlc2UgMiBwYXJhbWV0ZXJzIG1ha2VzIHgxMXZuYyB3b3JrcyB3ZWxsIG9uIHBva3kgc2F0byBpbWFnZS4KKworQWRkIGFsc28gLXNraXBfbG9ja2tleXMgb3B0aW9uIHRvIGlnbm9yZSBhbGwgQ2Fwc19Mb2NrLCBTaGlmdF9Mb2NrLCBOdW1fTG9jaywKK1Njcm9sbF9Mb2NrIGtleXN5bXMgcmVjZWl2ZWQgZnJvbSB2aWV3ZXJzLCBpbiBvcmRlciB0byBsZWF2ZSB0aGUgbG9jayBzdGF0ZSBvbgordGhlIHNlcnZlciBzaWRlIHVuY2hhbmdlZC4gWWV0LCB0aGUga2V5cyB3aWxsIGFwcGVhciBjb3JyZWN0bHkuCisKK1NpZ25lZC1vZmYtYnk6IFpoYWkgRWR3aW4gPGVkd2luLnpoYWlAaW50ZWwuY29tPgorU2lnbmVkLW9mZi1ieTogTGF1cmVudGl1IFBhbGN1IDxsYXVyZW50aXUucGFsY3VAaW50ZWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK0luZGV4OiB4MTF2bmMtMC45LjEyL3gxMXZuYy94MTF2bmMuZGVza3RvcAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHgxMXZuYy0wLjkuMTIub3JpZy94MTF2bmMveDExdm5jLmRlc2t0b3AJMjAxMS0wMy0wMyAxMDozMzoxOC4wMDAwMDAwMDAgKzA4MDAKKysrKyB4MTF2bmMtMC45LjEyL3gxMXZuYy94MTF2bmMuZGVza3RvcAkyMDExLTAzLTAzIDEwOjM1OjIwLjAwMDAwMDAwMCArMDgwMAorQEAgLTEsNyArMSw3IEBACisgW0Rlc2t0b3AgRW50cnldCisgTmFtZT1YMTFWTkMgU2VydmVyCisgQ29tbWVudD1TaGFyZSB0aGlzIGRlc2t0b3AgYnkgVk5DCistRXhlYz14MTF2bmMgLWd1aSB0cmF5PXNldHBhc3MgLXJmYnBvcnQgUFJPTVBUIC1iZyAtbyAlJUhPTUUvLngxMXZuYy5sb2cuJSVWTkNESVNQTEFZCisrRXhlYz14MTF2bmMgLWJnIC1yZmJwb3J0IDU5MDAgLXNraXBfbG9ja2tleXMgLW8gJSVIT01FLy54MTF2bmMubG9nLiUlVk5DRElTUExBWQorIEljb249Y29tcHV0ZXIKKyBUZXJtaW5hbD1mYWxzZQorIFR5cGU9QXBwbGljYXRpb24KZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMveDExdm5jXzAuOS4xMy5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94MTF2bmMveDExdm5jXzAuOS4xMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzAyNDFmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3gxMXZuYy94MTF2bmNfMC45LjEzLmJiCkBAIC0wLDAgKzEsMjUgQEAKK1NVTU1BUlkgPSAiRXhwb3J0cyB5b3VyIFggc2Vzc2lvbiBvbi10aGUtZmx5IHZpYSBWTkMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmthcmxydW5nZS5jb20veDExdm5jLyIKKworU0VDVElPTiA9ICJ4MTEvdXRpbHMiCitBVVRIT1IgPSAiS2FybCBSdW5nZSIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MzYxYjZiODM3Y2FkMjZjNjkwMGE5MjZiNjJhYWRhNWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8veDExdm5jL3gxMXZuYy5oO2VuZGxpbmU9MzM7bWQ1PTZmOTVkYzY1MzU0NjdkN2VlMTU2M2ZkNDM0ZmIzNzJlIgorCitTUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS9saWJ2bmNzZXJ2ZXIveDExdm5jLyR7UFZ9L3gxMXZuYy0ke1BWfS50YXIuZ3pcCisgICAgICAgICAgIGZpbGU6Ly9zdGFydGluZy1maXgucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZW5kaWFuLWZpeC5wYXRjaCAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhMzcyZWM0ZmU4MjExMjIxNTQ3YjFjMTA4Y2Y1NmU0YyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmNjgyOWYyZTYyOTY2N2E1Mjg0ZGU2MmIwODBiMTMxMjZhMDczNjQ5OWZlNDdjZGI0NDdhZWRiMDdhNTlmMTNiIgorCitERVBFTkRTID0gIm9wZW5zc2wgdmlydHVhbC9saWJ4MTEgbGlieGV4dCBqcGVnIHpsaWIgbGlieGZpeGVzIGxpYnhyYW5kciBsaWJ4ZGFtYWdlIGxpYnh0c3QiCisKK2luaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnemVyb2NvbmYnLCAnYXZhaGknLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1thdmFoaV0gPSAiLS13aXRoLWF2YWhpLC0td2l0aG91dC1hdmFoaSxhdmFoaSIKK1BBQ0tBR0VDT05GSUdbeGluZXJhbWFdID0gIi0td2l0aC14aW5lcmFtYSwtLXdpdGhvdXQteGluZXJhbWEsbGlieGluZXJhbWEiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveGN1cnNvci10cmFuc3BhcmVudC10aGVtZS94Y3Vyc29yLXRyYW5zcGFyZW50LXRoZW1lLTAuMS4xL2ZpeF93YXRjaF9jdXJzb3IucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveGN1cnNvci10cmFuc3BhcmVudC10aGVtZS94Y3Vyc29yLXRyYW5zcGFyZW50LXRoZW1lLTAuMS4xL2ZpeF93YXRjaF9jdXJzb3IucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2ZhYzU1YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94Y3Vyc29yLXRyYW5zcGFyZW50LXRoZW1lL3hjdXJzb3ItdHJhbnNwYXJlbnQtdGhlbWUtMC4xLjEvZml4X3dhdGNoX2N1cnNvci5wYXRjaApAQCAtMCwwICsxLDE3IEBACitGaXggdHlwbyBpbiBNYWtlZmlsZQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworSW5kZXg6IHhjdXJzb3ItdHJhbnNwYXJlbnQtdGhlbWUtMC4xLjEvY3Vyc29ycy9NYWtlZmlsZS5hbQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHhjdXJzb3ItdHJhbnNwYXJlbnQtdGhlbWUtMC4xLjEub3JpZy9jdXJzb3JzL01ha2VmaWxlLmFtCTIwMTMtMDMtMDcgMjI6MjU6MDQuMDAxNDM1MzA1ICswMDAwCisrKysgeGN1cnNvci10cmFuc3BhcmVudC10aGVtZS0wLjEuMS9jdXJzb3JzL01ha2VmaWxlLmFtCTIwMTMtMDMtMDcgMjI6MjU6MDQuMDYxNDM1MzAyICswMDAwCitAQCAtNzksNyArNzksNyBAQAorIAl1bF9hbmdsZSBcCisgCXVyX2FuZ2xlIFwKKyAJdl9kb3VibGVfYXJyb3cgXAorLQl3YXRjaGEgXAorKwl3YXRjaCBcCisgCXh0ZXJtICAKKyAKKyBDVVJTT1JfRElSID0gJChkYXRhZGlyKS9pY29ucy94Y3Vyc29yLXRyYW5zcGFyZW50L2N1cnNvcnMKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94Y3Vyc29yLXRyYW5zcGFyZW50LXRoZW1lL3hjdXJzb3ItdHJhbnNwYXJlbnQtdGhlbWUtMC4xLjEvdXNlLXJlbGF0aXZlLXN5bWxpbmtzLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hjdXJzb3ItdHJhbnNwYXJlbnQtdGhlbWUveGN1cnNvci10cmFuc3BhcmVudC10aGVtZS0wLjEuMS91c2UtcmVsYXRpdmUtc3ltbGlua3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTAyOGZkNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94Y3Vyc29yLXRyYW5zcGFyZW50LXRoZW1lL3hjdXJzb3ItdHJhbnNwYXJlbnQtdGhlbWUtMC4xLjEvdXNlLXJlbGF0aXZlLXN5bWxpbmtzLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK1VzZSByZWxhdGl2ZSBzeW1saW5rIGZvciBsaW5rIHJhdGhlciB0aGFuIGFic29sdXRlIHBhdGggd2hpY2ggCitkb2Vzbid0IHdvcmsgd2VsbCBpbiBERVNURElSIHNldHRpbmcuCisKK0Fsc28gZml4IG91dCBvZiB0cmVlIGJ1aWxkcyB0byB1c2UgY29ycmVjdCBzcmNkaXIuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitSUCAyMDEzLzMvOAorCitJbmRleDogeGN1cnNvci10cmFuc3BhcmVudC10aGVtZS0wLjEuMS9jdXJzb3JzL01ha2VmaWxlLmFtCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0geGN1cnNvci10cmFuc3BhcmVudC10aGVtZS0wLjEuMS5vcmlnL2N1cnNvcnMvTWFrZWZpbGUuYW0JMjAxMy0wMy0wNyAyMjoyNTowMy45MzM0MzUzMDcgKzAwMDAKKysrKyB4Y3Vyc29yLXRyYW5zcGFyZW50LXRoZW1lLTAuMS4xL2N1cnNvcnMvTWFrZWZpbGUuYW0JMjAxMy0wMy0wNyAyMjoyNToyNy4yOTM0MzQ3NTUgKzAwMDAKK0BAIC04OCw5ICs4OCw5IEBACisgCisgaW5zdGFsbC1kYXRhLWxvY2FsOgorIAkkKG1raW5zdGFsbGRpcnMpICQoREVTVERJUikkKENVUlNPUl9ESVIpOyAKKy0JJChJTlNUQUxMX0RBVEEpICQoQ1VSU09SX1JFQUwpICQoREVTVERJUikkKENVUlNPUl9ESVIpLyAKKysJJChJTlNUQUxMX0RBVEEpICQoc3JjZGlyKS8kKENVUlNPUl9SRUFMKSAkKERFU1RESVIpJChDVVJTT1JfRElSKS8KKyAJZm9yIENVUlNPUiBpbiAkKENVUlNPUl9OQU1FUyk7IGRvIFwKKyAJCWVjaG8gJy0tIEluc3RhbGxpbmcgY3Vyc29yICckJENVUlNPUjsgXAorLQkJbG4gLXMgJChERVNURElSKSQoQ1VSU09SX0RJUikvdHJhbnNwICQoREVTVERJUikkKENVUlNPUl9ESVIpLyQkQ1VSU09SOyBcCisrCQlsbiAtcyB0cmFuc3AgJChERVNURElSKSQoQ1VSU09SX0RJUikvJCRDVVJTT1I7IFwKKyAJZG9uZQorIApkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hjdXJzb3ItdHJhbnNwYXJlbnQtdGhlbWUveGN1cnNvci10cmFuc3BhcmVudC10aGVtZV8wLjEuMS5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94Y3Vyc29yLXRyYW5zcGFyZW50LXRoZW1lL3hjdXJzb3ItdHJhbnNwYXJlbnQtdGhlbWVfMC4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWU2NjhhYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94Y3Vyc29yLXRyYW5zcGFyZW50LXRoZW1lL3hjdXJzb3ItdHJhbnNwYXJlbnQtdGhlbWVfMC4xLjEuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJUcmFuc3BhcmVudCBYMTEgY3Vyc29yIHRoZW1lIGZvciB0b3VjaHNjcmVlbnMiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lm1hdGNoYm94LXByb2plY3Qub3JnLyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL2J1Z3ppbGxhLnlvY3RvcHJvamVjdC5vcmcvIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYiCisKK1NFQ1RJT04gPSAieDExL2Jhc2UiCitQUiA9ICJyNCIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvcmVsZWFzZXMvbWF0Y2hib3gvdXRpbHMveGN1cnNvci10cmFuc3BhcmVudC10aGVtZS0ke1BWfS50YXIuZ3ogXAorCSAgIGZpbGU6Ly91c2UtcmVsYXRpdmUtc3ltbGlua3MucGF0Y2ggXAorCSAgIGZpbGU6Ly9maXhfd2F0Y2hfY3Vyc29yLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiN2IwYzYyMzA0OWQ0YWFiMjA2MDBkNjQ3M2Y4YWFiMjMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjI2YWRmMmQ1MDNkMDEyOTk3MTgzOTBhZTM5ZGFiNDY5MWE2NzIyMGRlMDk0MjNiZTAzNjRlOWEwNjBiZjdlNCIKK0ZJTEVTXyR7UE59ID0gIiR7ZGF0YWRpcn0vaWNvbnMveGN1cnNvci10cmFuc3BhcmVudC9jdXJzb3JzLyoiCisKK2luaGVyaXQgYXV0b3Rvb2xzIGFsbGFyY2gKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94aW5wdXQtY2FsaWJyYXRvci9wb2ludGVyY2FsLXhpbnB1dC9wb2ludGVyY2FsLnhpbnB1dCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94aW5wdXQtY2FsaWJyYXRvci9wb2ludGVyY2FsLXhpbnB1dC9wb2ludGVyY2FsLnhpbnB1dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjMzZmM1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hpbnB1dC1jYWxpYnJhdG9yL3BvaW50ZXJjYWwteGlucHV0L3BvaW50ZXJjYWwueGlucHV0CkBAIC0wLDAgKzEgQEAKKyMgcmVwbGFjZSB3aXRoIHZhbGlkIG1hY2hpbmUgc3BlY2lmaWMgcG9pbnRlcmNhbC54aW5wdXQKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94aW5wdXQtY2FsaWJyYXRvci9wb2ludGVyY2FsLXhpbnB1dF8wLjAuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveGlucHV0LWNhbGlicmF0b3IvcG9pbnRlcmNhbC14aW5wdXRfMC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MzQ4YzMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveGlucHV0LWNhbGlicmF0b3IvcG9pbnRlcmNhbC14aW5wdXRfMC4wLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiVG91Y2hzY3JlZW4gY2FsaWJyYXRpb24gZGF0YSBmcm9tIHhpbnB1dC1jYWxpYnJhdG9yIgorTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8ke0NPUkVCQVNFfS9tZXRhL0NPUFlJTkcuTUlUO21kNT0zZGE5Y2ZiY2I3ODhjODBhMDM4NDM2MWI0ZGUyMDQyMCIKKworUFIgPSAicjciCisKK1NSQ19VUkkgPSAiZmlsZTovL3BvaW50ZXJjYWwueGlucHV0IgorUyA9ICIke1dPUktESVJ9IgorCitkb19pbnN0YWxsKCkgeworICAgICMgT25seSBpbnN0YWxsIGZpbGUgaWYgaXQgaGFzIGEgY29udGVudHMKKyAgICBpZiBbIC1zICR7U30vcG9pbnRlcmNhbC54aW5wdXQgXSAmJlwKKyAgICAgICBbICEgLW4gIiQoaGVhZCAtbjEgJHtTfS9wb2ludGVyY2FsLnhpbnB1dHxncmVwICJyZXBsYWNlLipwb2ludGVyY2FsXC54aW5wdXQiKSIgXTsgdGhlbgorICAgICAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9LworICAgICAgICBpbnN0YWxsIC1tIDA2NDQgJHtTfS9wb2ludGVyY2FsLnhpbnB1dCAke0R9JHtzeXNjb25mZGlyfS8KKyAgICBmaQorfQorCitQQUNLQUdFX0FSQ0ggPSAiJHtNQUNISU5FX0FSQ0h9IgorQ09ORkZJTEVTXyR7UE59ID0gIiR7c3lzY29uZmRpcn0vcG9pbnRlcmNhbC54aW5wdXQiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveGlucHV0LWNhbGlicmF0b3IveGlucHV0LWNhbGlicmF0b3IvMzB4aW5wdXRfY2FsaWJyYXRlLnNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hpbnB1dC1jYWxpYnJhdG9yL3hpbnB1dC1jYWxpYnJhdG9yLzMweGlucHV0X2NhbGlicmF0ZS5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjkwNzI2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hpbnB1dC1jYWxpYnJhdG9yL3hpbnB1dC1jYWxpYnJhdG9yLzMweGlucHV0X2NhbGlicmF0ZS5zaApAQCAtMCwwICsxLDcgQEAKKyMhL2Jpbi9zaAorCisuIC9ldGMvZm9ybWZhY3Rvci9jb25maWcKKworaWYgWyAiJEhBVkVfVE9VQ0hTQ1JFRU4iID0gIjEiIF07IHRoZW4KKwkvdXNyL2Jpbi94aW5wdXRfY2FsaWJyYXRvcl9vbmNlLnNoCitmaQpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hpbnB1dC1jYWxpYnJhdG9yL3hpbnB1dC1jYWxpYnJhdG9yL0FsbG93LXhpbnB1dF9jYWxpYnJhdG9yX3BvaW50ZXJjYWwuc2gtdG8tYmUtcnVuLWFzLW4ucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveGlucHV0LWNhbGlicmF0b3IveGlucHV0LWNhbGlicmF0b3IvQWxsb3cteGlucHV0X2NhbGlicmF0b3JfcG9pbnRlcmNhbC5zaC10by1iZS1ydW4tYXMtbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Njk4MjkyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hpbnB1dC1jYWxpYnJhdG9yL3hpbnB1dC1jYWxpYnJhdG9yL0FsbG93LXhpbnB1dF9jYWxpYnJhdG9yX3BvaW50ZXJjYWwuc2gtdG8tYmUtcnVuLWFzLW4ucGF0Y2gKQEAgLTAsMCArMSw2NiBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0Zyb20gMTQ3MzRhOTNiZDNmYzMyMzMyNTQ1OWUyNGIwNDc5NTQyMmUzOTVlNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExhdXJlbnRpdSBQYWxjdSA8bGF1cmVudGl1LnBhbGN1QGludGVsLmNvbT4KK0RhdGU6IE1vbiwgMSBKdWwgMjAxMyAxNTozODowMiArMDMwMAorU3ViamVjdDogW1BBVENIXSBBbGxvdyB4aW5wdXRfY2FsaWJyYXRvcl9wb2ludGVyY2FsLnNoIHRvIGJlIHJ1biBhcyBub3JtYWwKKyB1c2VyCisKK0FsbG93IG5vcm1hbCB1c2VyIHRvIGNyZWF0ZSB0aGVpciBvd24gcG9pbnRlcmNhbC54aW5wdXQgZmlsZXMgdGhhdAorb3ZlcnJpZGUgdGhlIHN5c3RlbSBwb2ludGVyY2FsIGZpbGUgaW4gL2V0Yy4KKworU2lnbmVkLW9mZi1ieTogTGF1cmVudGl1IFBhbGN1IDxsYXVyZW50aXUucGFsY3VAaW50ZWwuY29tPgorLS0tCisgc2NyaXB0cy94aW5wdXRfY2FsaWJyYXRvcl9wb2ludGVyY2FsLnNoIHwgICAzMyArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc2NyaXB0cy94aW5wdXRfY2FsaWJyYXRvcl9wb2ludGVyY2FsLnNoIGIvc2NyaXB0cy94aW5wdXRfY2FsaWJyYXRvcl9wb2ludGVyY2FsLnNoCitpbmRleCBmY2NiMTk3Li4wYWRhN2RhIDEwMDc1NQorLS0tIGEvc2NyaXB0cy94aW5wdXRfY2FsaWJyYXRvcl9wb2ludGVyY2FsLnNoCisrKysgYi9zY3JpcHRzL3hpbnB1dF9jYWxpYnJhdG9yX3BvaW50ZXJjYWwuc2gKK0BAIC0xMSwxOSArMTEsMzIgQEAKKyBQQVRIPSIvdXNyL2JpbjokUEFUSCIKKyAKKyBCSU5BUlk9InhpbnB1dF9jYWxpYnJhdG9yIgorLUNBTEZJTEU9Ii9ldGMvcG9pbnRlcmNhbC54aW5wdXQiCistTE9HRklMRT0iL3Zhci9sb2cveGlucHV0X2NhbGlicmF0b3IucG9pbnRlcmNhbC5sb2ciCisrU1lTX0NBTEZJTEU9Ii9ldGMvcG9pbnRlcmNhbC54aW5wdXQiCisrVVNFUl9DQUxGSUxFPSIkSE9NRS8ucG9pbnRlcmNhbC9wb2ludGVyY2FsLnhpbnB1dCIKKyAKKy1pZiBbIC1lICRDQUxGSUxFIF0gOyB0aGVuCistICBpZiBncmVwIHJlcGxhY2UgJENBTEZJTEUgOyB0aGVuCistICAgIGVjaG8gIkVtcHR5IGNhbGlicmF0aW9uIGZpbGUgZm91bmQsIHJlbW92aW5nIGl0IgorLSAgICBybSAkQ0FMRklMRQorLSAgZWxzZQorLSAgICBlY2hvICJVc2luZyBjYWxpYnJhdGlvbiBkYXRhIHN0b3JlZCBpbiAkQ0FMRklMRSIKKy0gICAgLiAkQ0FMRklMRSAmJiBleGl0IDAKKy0gIGZpCisraWYgWyAiJFVTRVIiID0gInJvb3QiIF07IHRoZW4KKysgIExPR0ZJTEU9Ii92YXIvbG9nL3hpbnB1dF9jYWxpYnJhdG9yLnBvaW50ZXJjYWwubG9nIgorKyAgQ0FMRklMRVM9IiRTWVNfQ0FMRklMRSIKKytlbHNlCisrICBMT0dGSUxFPSIkSE9NRS8ucG9pbnRlcmNhbC94aW5wdXRfY2FsaWJyYXRvci5wb2ludGVyY2FsLmxvZyIKKysgIENBTEZJTEVTPSIkVVNFUl9DQUxGSUxFICRTWVNfQ0FMRklMRSIKKysgIG1rZGlyIC1wICIkSE9NRS8ucG9pbnRlcmNhbCIKKyBmaQorIAorK2ZvciBDQUxGSUxFIGluICRDQUxGSUxFUzsgZG8KKysgIGlmIFsgLWUgJENBTEZJTEUgXTsgdGhlbgorKyAgICBpZiBncmVwIHJlcGxhY2UgJENBTEZJTEUgOyB0aGVuCisrICAgICAgZWNobyAiRW1wdHkgY2FsaWJyYXRpb24gZmlsZSBmb3VuZCwgcmVtb3ZpbmcgaXQiCisrICAgICAgcm0gJENBTEZJTEUgMj4vZGV2L251bGwgfHwgdHJ1ZQorKyAgICBlbHNlCisrICAgICAgZWNobyAiVXNpbmcgY2FsaWJyYXRpb24gZGF0YSBzdG9yZWQgaW4gJENBTEZJTEUiCisrICAgICAgLiAkQ0FMRklMRSAmJiBleGl0IDAKKysgICAgZmkKKysgIGZpCisrZG9uZQorKworK1sgIiRVU0VSIiAhPSAicm9vdCIgXSAmJiBDQUxGSUxFPSRVU0VSX0NBTEZJTEUKKysKKyBDQUxEQVRBPWAkQklOQVJZIC0tb3V0cHV0LXR5cGUgeGlucHV0IC12IHwgdGVlICRMT0dGSUxFIHwgZ3JlcCAnICAgIHhpbnB1dCBzZXQnIHwgc2VkICdzL14gICAgLy9nOyBzLyQvOy9nJ2AKKyBpZiBbICEgLXogIiRDQUxEQVRBIiBdIDsgdGhlbgorICAgZWNobyAkQ0FMREFUQSA+ICRDQUxGSUxFCistLSAKKzEuNy45LjUKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hpbnB1dC1jYWxpYnJhdG9yL3hpbnB1dC1jYWxpYnJhdG9yX2dpdC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94aW5wdXQtY2FsaWJyYXRvci94aW5wdXQtY2FsaWJyYXRvcl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTlkZTNkNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94aW5wdXQtY2FsaWJyYXRvci94aW5wdXQtY2FsaWJyYXRvcl9naXQuYmIKQEAgLTAsMCArMSwzNyBAQAorU1VNTUFSWSA9ICJUb3VjaHNjcmVlbiBjYWxpYnJhdGlvbiBwcm9ncmFtIGZvciBYMTEiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL3hpbnB1dF9jYWxpYnJhdG9yIgorTElDRU5TRSA9ICJNSVQtWCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3NyYy9jYWxpYnJhdG9yLmNwcDtlbmRsaW5lPTIyO21kNT0xYmNiYTA4ZjY3Y2RiNTZmMzQwMjE1NTc4OThlNGI1YSIKK0RFUEVORFMgPSAidmlydHVhbC9saWJ4MTEgbGlieGkiCisKK1BWID0gIjAuNy41K2dpdCR7U1JDUFZ9IgorUFIgPSAicjYiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworU1JDUkVWID0gImMwMWM1YWY4MDdjYjRiMDE1N2I4ODJhYjA3YTg5M2RmOWE4MTAxMTEiCitTUkNfVVJJID0gImdpdDovL2dpdGh1Yi5jb20vdGlhcy94aW5wdXRfY2FsaWJyYXRvci5naXQgXAorICAgICAgICAgICBmaWxlOi8vMzB4aW5wdXRfY2FsaWJyYXRlLnNoIFwKKyAgICAgICAgICAgZmlsZTovL0FsbG93LXhpbnB1dF9jYWxpYnJhdG9yX3BvaW50ZXJjYWwuc2gtdG8tYmUtcnVuLWFzLW4ucGF0Y2giCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKKyMgZm9yY2UgbmF0aXZlIFgxMSB1aSBhcyB3ZSBkb24ndCBoYXZlIGd0aysgaW4gREVQRU5EUworRVhUUkFfT0VDT05GICs9ICItLXdpdGgtZ3VpPXgxMSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9CisgICAgaW5zdGFsbCAtbSAwNzU1ICR7U30vc2NyaXB0cy94aW5wdXRfY2FsaWJyYXRvcl9wb2ludGVyY2FsLnNoICR7RH0ke2JpbmRpcn0veGlucHV0X2NhbGlicmF0b3Jfb25jZS5zaAorCisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9YMTEvWHNlc3Npb24uZC8KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS8zMHhpbnB1dF9jYWxpYnJhdGUuc2ggJHtEfSR7c3lzY29uZmRpcn0vWDExL1hzZXNzaW9uLmQvCisKKyAgICBpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9L3hkZy9hdXRvc3RhcnQKKyAgICBzZWQgLWUgJ3MsXkV4ZWM9LiosRXhlYz0ke2JpbmRpcn0veGlucHV0X2NhbGlicmF0b3Jfb25jZS5zaCwnICR7U30vc2NyaXB0cy94aW5wdXRfY2FsaWJyYXRvci5kZXNrdG9wID4gJHtEfSR7c3lzY29uZmRpcn0veGRnL2F1dG9zdGFydC94aW5wdXRfY2FsaWJyYXRvci5kZXNrdG9wCit9CisKK0ZJTEVTXyR7UE59ICs9ICIke3N5c2NvbmZkaXJ9L3hkZy9hdXRvc3RhcnQiCitSREVQRU5EU18ke1BOfSA9ICJ4aW5wdXQgZm9ybWZhY3RvciIKK1JSRUNPTU1FTkRTXyR7UE59ID0gInBvaW50ZXJjYWwteGlucHV0IgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL21rZm9udGRpcl8xLjAuNy5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC9ta2ZvbnRkaXJfMS4wLjcuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQ1M2UyNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC9ta2ZvbnRkaXJfMS4wLjcuYmIKQEAgLTAsMCArMSwyMiBAQAorcmVxdWlyZSB4b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiQSBwcm9ncmFtIHRvIGNyZWF0ZSBhbiBpbmRleCBvZiBYIGZvbnQgZmlsZXMgaW4gYSBkaXJlY3RvcnkiCisKK0RFU0NSSVBUSU9OID0gIkZvciBlYWNoIGRpcmVjdG9yeSBhcmd1bWVudCwgbWtmb250ZGlyIHJlYWRzIGFsbCBvZiB0aGUgXAorZm9udCBmaWxlcyBpbiB0aGUgZGlyZWN0b3J5LiBUaGUgZm9udCBuYW1lcyBhbmQgcmVsYXRlZCBkYXRhIGFyZSB3cml0dGVuIFwKK291dCB0byB0aGUgZmlsZXMgXCJmb250cy5kaXJcIiwgXCJmb250cy5zY2FsZVwiLCBhbmQgXCJmb250cy5hbGlhc1wiLiAgXAorVGhlIFggc2VydmVyIGFuZCBmb250IHNlcnZlciB1c2UgdGhlc2UgZmlsZXMgdG8gZmluZCB0aGUgYXZhaWxhYmxlIGZvbnQgXAorZmlsZXMuIgorCitQRSA9ICIxIgorUFIgPSAiJHtJTkNfUFJ9LjAiCisKK1JERVBFTkRTXyR7UE59ICs9ICJta2ZvbnRzY2FsZSIKK1JERVBFTkRTXyR7UE59X2NsYXNzLW5hdGl2ZSArPSAibWtmb250c2NhbGUtbmF0aXZlIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjRmY2YyYjkwY2FkYmZjMTUwMDliOWUxMjRkYzNhM2YiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxOGM0MjkxNDhjOTZjMjA3OWVkZGE5MjJhMmI2NzYzMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1NmQ1MmE0ODJkZjEzMDQ4NGU1MWZkMDY2ZDFiNmVkYTdjMmMwMmRkYmM5MWZlNmUyYmUxYjljNGU3MzA2NTMwIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL21rZm9udHNjYWxlXzEuMS4yLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL21rZm9udHNjYWxlXzEuMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxY2YxODYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAvbWtmb250c2NhbGVfMS4xLjIuYmIKQEAgLTAsMCArMSwxOCBAQAorcmVxdWlyZSB4b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiQSBwcm9ncmFtIHRvIGNyZWF0ZSBhbiBpbmRleCBvZiBzY2FsYWJsZSBmb250IGZpbGVzIGZvciBYIgorCitERVNDUklQVElPTiA9ICJGb3IgZWFjaCBkaXJlY3RvcnkgYXJndW1lbnQsIG1rZm9udHNjYWxlIHJlYWRzIGFsbCBvZiB0aGUgXAorc2NhbGFibGUgZm9udCBmaWxlcyBpbiB0aGUgZGlyZWN0b3J5LiBGb3IgZXZlcnkgZm9udCBmaWxlIGZvdW5kLCBhbiBYMTEgXAorZm9udCBuYW1lIChYTEZEKSBpcyBnZW5lcmF0ZWQsIGFuZCBpcyB3cml0dGVuIHRvZ2V0aGVyIHdpdGggdGhlIGZpbGUgXAorbmFtZSB0byBhIGZpbGUgZm9udHMuc2NhbGUgaW4gdGhlIGRpcmVjdG9yeS4gIFRoZSByZXN1bHRpbmcgZm9udHMuc2NhbGUgXAoraXMgdXNlZCBieSB0aGUgbWtmb250ZGlyIHByb2dyYW0uIgorCitERVBFTkRTID0gInV0aWwtbWFjcm9zLW5hdGl2ZSB6bGliIGxpYmZvbnRlbmMgZnJlZXR5cGUgeHByb3RvIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmUwZDEyOWQwNTMwNTE3NmQxYTc5MGUwYWMxYWNiN2YiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5YmRkNmViZmE2MmIxYmJkNDc0OTA2YWM4NmE0MGZkOCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4YzZkNTIyOGFmODg1NDc3YjlhZWM2MGNhNmYxNzI1NzhlN2QyZGU0MjIzNDM1N2FmNjJmYjAwNDM5NDUzZjIwIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3JnYl8xLjAuNi5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC9yZ2JfMS4wLjYuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODcyNjgwNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC9yZ2JfMS4wLjYuYmIKQEAgLTAsMCArMSwxNiBAQAorcmVxdWlyZSB4b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWDExIGNvbG9yIG5hbWUgZGF0YWJhc2UiCitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgaW5jbHVkZXMgYm90aCB0aGUgbGlzdCBtYXBwaW5nIFggY29sb3IgbmFtZXMgXAordG8gUkdCIHZhbHVlcyAocmdiLnR4dCkgYW5kLCBpZiBjb25maWd1cmVkIHRvIHVzZSBhIGRhdGFiYXNlIGZvciBjb2xvciBcCitsb29rdXAsIHRoZSByZ2IgcHJvZ3JhbSB0byBjb252ZXJ0IHRoZSB0ZXh0IGZpbGUgaW50byB0aGUgYmluYXJ5IGRhdGFiYXNlIFwKK2Zvcm1hdC4iCisKK0RFUEVORFMgKz0gIiB4cHJvdG8gdXRpbC1tYWNyb3MiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lZjU5OGFkYmUyNDFiZDBiMGI5MTEzODMxZjZlMjQ5YSIKK1BFID0gIjEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlYWI1YmJkNzY0MmU1Yzc4NDQyOTMwN2VjMjEwZDE5OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiYmNhN2M2YWE1OTkzOWI5ZjZhMGZiOWZmZjE1ZGZkNjIxNzY0MjBmZmQ0YWUzMGM4ZDkyYTZhMTI1ZmJlNmIwIgorCitGSUxFU18ke1BOfSArPSAiJHtkYXRhZGlyfS9YMTEiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveDExcGVyZl8xLjYuMC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94MTFwZXJmXzEuNi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlOTM1NTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveDExcGVyZl8xLjYuMC5iYgpAQCAtMCwwICsxLDE5IEBACityZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYMTEgc2VydmVyIHBlcmZvcm1hbmNlIHRlc3QgcHJvZ3JhbSIKKworREVTQ1JJUFRJT04gPSAiVGhlIHgxMXBlcmYgcHJvZ3JhbSBydW5zIG9uZSBvciBtb3JlIHBlcmZvcm1hbmNlIHRlc3RzIFwKK2FuZCByZXBvcnRzIGhvdyBmYXN0IGFuIFggc2VydmVyIGNhbiBleGVjdXRlIHRoZSB0ZXN0cy4iCisKKworREVQRU5EUyArPSAibGlieG11IGxpYnhyZW5kZXIgbGlieGZ0IGxpYnhleHQgZm9udGNvbmZpZyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDI4Y2E0ZDY3YTQxZmNkNGZjMzI4M2RjZTliYmRhN2UgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8veDExcGVyZi5oO2VuZGxpbmU9MjQ7bWQ1PTI5NTU1MDY2YmFmNDA2YTEwNWZmOTE3YWMyNWIyZDAxIgorCitQRSA9ICIxIgorCitGSUxFU18ke1BOfSArPSAiJHtsaWJkaXJ9L1gxMS94MTFwZXJmY29tcC8qIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZjBiMjRlNGQ4YmViNjIyYTQxOWU4NDMxZTFjMDNjZDciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTg3MDk4ZGVjMTk0NzU3MmQ3MGM2MjY5N2E3YjcwYmRlMWFiNTY2ODIzN2Q0NjYwMDgwZWFkZTZiYzA5Njc1MSIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94YXV0aF8xLjAuOS5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94YXV0aF8xLjAuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTczZjRmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hhdXRoXzEuMC45LmJiCkBAIC0wLDAgKzEsMTIgQEAKK3JlcXVpcmUgeG9yZy1hcHAtY29tbW9uLmluYworU1VNTUFSWSA9ICJYIGF1dGhvcml0eSB1dGlsaXRpZXMiCitERVNDUklQVElPTiA9ICJYIGFwcGxpY2F0aW9uIHRvIGVkaXQgYW5kIGRpc3BsYXkgdGhlIGF1dGhvcml6YXRpb24gXAoraW5mb3JtYXRpb24gdXNlZCBpbiBjb25uZWN0aW5nIHRvIHRoZSBYIHNlcnZlci4iCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVlYzc0ZGQ3ZWE0ZDEwYzQ3MTVhN2M0NGYxNTlhNDBiIgorCitERVBFTkRTICs9ICJsaWJ4YXUgbGlieGV4dCBsaWJ4bXUiCitQRSA9ICIxIgorCitTUkNfVVJJW21kNXN1bV0gPSAiN2Q2MDAzZjMyODM4ZDViNjg4ZTJjOGExMzEwODMyNzEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTZjZTE1MjNlYjQ4YjFmOGE0ZjQyNDRmZTFjM2Q4ZTZhZjFhM2I3ZDRiMGU2MDYzNTgyNDIxYjBiNjhkYzI4ZiIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94ZHB5aW5mby9kaXNhYmxlLXhrYi5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94ZHB5aW5mby9kaXNhYmxlLXhrYi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZTgxOTljCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hkcHlpbmZvL2Rpc2FibGUteGtiLnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitJbmRleDogeGRweWluZm8tMS4zLjAvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0geGRweWluZm8tMS4zLjAub3JpZy9jb25maWd1cmUuYWMJMjAxMS0xMC0yMSAyMTozNDoyMS4wMDAwMDAwMDAgLTA3MDAKKysrKyB4ZHB5aW5mby0xLjMuMC9jb25maWd1cmUuYWMJMjAxMS0xMS0yOCAyMDowNjo1Ni41NTQwNTY5MzUgLTA4MDAKK0BAIC00NywxMSArNDcsMTUgQEAKKyAJQUNfQ0hFQ0tfSEVBREVSUyhbWDExL2V4dGVuc2lvbnMvbXVsdGlidWYuaCBYMTEvZXh0ZW5zaW9ucy9YU2htLmhdLCwsWyNpbmNsdWRlIDxYMTEvWGxpYi5oPl0pCisgCUNQUEZMQUdTPSIkU0FWRV9DUFBGTEFHUyJdLFtlY2hvICJub3QgZm91bmQiXSkKKyAKKytBQ19BUkdfRU5BQkxFKHhrYiwgQUNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS14a2JdLCBbRGlzYWJsZSBYS0Igc3VwcG9ydF0pLAorKwlYS0I9IiRlbmFibGV2YWwiLCBYS0I9InllcyIpCisraWYgdGVzdCAieCRYS0IiID0gInh5ZXMiIDsgdGhlbgorIFBLR19DSEVDS19NT0RVTEVTKERQWV9YS0IsIHgxMSwKKyAJW1NBVkVfQ1BQRkxBR1M9IiRDUFBGTEFHUyIKKyAJQ1BQRkxBR1M9IiRDUFBGTEFHUyAkRFBZX1hLQl9DRkxBR1MgJERQWV9YMTFfQ0ZMQUdTIgorIAlBQ19DSEVDS19IRUFERVJTKFtYMTEvZXh0ZW5zaW9ucy9YS0IuaCBYMTEvWEtCbGliLmhdLCwsWyNpbmNsdWRlIDxYMTEvWGxpYi5oPl0pCisgCUNQUEZMQUdTPSIkU0FWRV9DUFBGTEFHUyJdLFtlY2hvICJub3QgZm91bmQiXSkKKytmaQorIAorIFBLR19DSEVDS19NT0RVTEVTKERQWV9YRjg2VklETU9ERSwgeHhmODZ2bSwKKyAJW1NBVkVfQ1BQRkxBR1M9IiRDUFBGTEFHUyIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94ZHB5aW5mb18xLjMuMi5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94ZHB5aW5mb18xLjMuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjA0YmI2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hkcHlpbmZvXzEuMy4yLmJiCkBAIC0wLDAgKzEsMjAgQEAKK3JlcXVpcmUgeG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gIkRpc3BsYXkgaW5mb3JtYXRpb24gdXRpbGl0eSBmb3IgWCIKKworREVTQ1JJUFRJT04gPSAiWGRweWluZm8gaXMgYSB1dGlsaXR5IGZvciBkaXNwbGF5aW5nIGluZm9ybWF0aW9uIGFib3V0IGFuIFwKK1ggc2VydmVyLiBJdCBpcyB1c2VkIHRvIGV4YW1pbmUgdGhlIGNhcGFiaWxpdGllcyBvZiBhIHNlcnZlciwgdGhlIFwKK3ByZWRlZmluZWQgdmFsdWVzIGZvciB2YXJpb3VzIHBhcmFtZXRlcnMgdXNlZCBpbiBjb21tdW5pY2F0aW5nIGJldHdlZW4gXAorY2xpZW50cyBhbmQgdGhlIHNlcnZlciwgYW5kIHRoZSBkaWZmZXJlbnQgdHlwZXMgb2Ygc2NyZWVucyBhbmQgdmlzdWFscyBcCit0aGF0IGFyZSBhdmFpbGFibGUuIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mM2QwOWU2YjllMjAzYTFhZjQ4OWUxNmM3MDhmNGZiMyIKK0RFUEVORFMgKz0gImxpYnh0c3QgbGlieGV4dCBsaWJ4eGY4NnZtIGxpYnh4Zjg2ZGdhIGxpYnh4Zjg2bWlzYyBsaWJ4aSBsaWJ4cmVuZGVyIGxpYnhpbmVyYW1hIGxpYmRteCBsaWJ4YXUgbGlieGNvbXBvc2l0ZSIKK1BFID0gIjEiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9kaXNhYmxlLXhrYi5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjg4MDkwMzdiZDQ4NTk5YWY1NWRhZDgxYzUwOGI2YjM5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjMwMjM4ZWQ5MTU2MTllMDZjZWI0MTcyMWU1Zjc0N2Q2NzMyMDU1NWNjMzhkNDU5ZTk1NDgzOWMxODljY2FmNTEiCisKK0VYVFJBX09FQ09ORiA9ICItLWRpc2FibGUteGtiIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hldi9kaWV0LXgxMS5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94ZXYvZGlldC14MTEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjEzMDk1OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94ZXYvZGlldC14MTEucGF0Y2gKQEAgLTAsMCArMSw4MiBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtkaXNhYmxlIGZlYXR1cmVdCisKKy0tLQorIHhldi5jIHwgICAxNiArKysrKysrKy0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKKworSW5kZXg6IHhldi0xLjIuMC94ZXYuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHhldi0xLjIuMC5vcmlnL3hldi5jCisrKysgeGV2LTEuMi4wL3hldi5jCitAQCAtMTE2LDcgKzExNiw3IEBAIGRvX0tleVByZXNzIChYRXZlbnQgKmV2ZW50cCkKKyAgICAgbmJ5dGVzID0gWExvb2t1cFN0cmluZyAoZSwgc3RyLCAyNTYsICZrcywgTlVMTCk7CisgCisgICAgIC8qIG5vdCBzdXBwb3NlZCB0byBjYWxsIFhtYkxvb2t1cFN0cmluZyBvbiBhIGtleSByZWxlYXNlIGV2ZW50ICovCistICAgIGlmIChlLT50eXBlID09IEtleVByZXNzICYmIHhpYykgeworKyAgICAvKmlmIChlLT50eXBlID09IEtleVByZXNzICYmIHhpYykgeworICAgICAgICAgZG8geworICAgICAgICAgICAgIG5tYmJ5dGVzID0gWG1iTG9va3VwU3RyaW5nICh4aWMsIGUsIGJ1ZiwgYnNpemUgLSAxLCAma3MsICZzdGF0dXMpOworICAgICAgICAgICAgIGJ1ZltubWJieXRlc10gPSAnXDAnOworQEAgLTEyNiw3ICsxMjYsNyBAQCBkb19LZXlQcmVzcyAoWEV2ZW50ICpldmVudHApCisgICAgICAgICAgICAgICAgIGJ1ZiA9IHJlYWxsb2MgKGJ1ZiwgYnNpemUpOworICAgICAgICAgICAgIH0KKyAgICAgICAgIH0gd2hpbGUgKHN0YXR1cyA9PSBYQnVmZmVyT3ZlcmZsb3cpOworLSAgICB9CisrICAgIH0qLworIAorICAgICBpZiAoa3MgPT0gTm9TeW1ib2wpCisgCWtzbmFtZSA9ICJOb1N5bWJvbCI7CitAQCAtMTU2LDcgKzE1Niw3IEBAIGRvX0tleVByZXNzIChYRXZlbnQgKmV2ZW50cCkKKyAgICAgfQorIAorICAgICAvKiBub3Qgc3VwcG9zZWQgdG8gY2FsbCBYbWJMb29rdXBTdHJpbmcgb24gYSBrZXkgcmVsZWFzZSBldmVudCAqLworLSAgICBpZiAoZS0+dHlwZSA9PSBLZXlQcmVzcyAmJiB4aWMpIHsKKysgICAgLyppZiAoZS0+dHlwZSA9PSBLZXlQcmVzcyAmJiB4aWMpIHsKKyAgICAgICAgIHByaW50ZiAoIiAgICBYbWJMb29rdXBTdHJpbmcgZ2l2ZXMgJWQgYnl0ZXM6ICIsIG5tYmJ5dGVzKTsKKyAgICAgICAgIGlmIChubWJieXRlcyA+IDApIHsKKyAgICAgICAgICAgIGR1bXAgKGJ1Ziwgbm1iYnl0ZXMpOworQEAgLTE2NCw3ICsxNjQsNyBAQCBkb19LZXlQcmVzcyAoWEV2ZW50ICpldmVudHApCisgICAgICAgICB9IGVsc2UgeworICAgICAJICAgcHJpbnRmICgiXG4iKTsKKyAgICAgICAgIH0KKy0gICAgfQorKyAgICB9ICovCisgCisgICAgIHByaW50ZiAoIiAgICBYRmlsdGVyRXZlbnQgcmV0dXJuczogJXNcbiIsCisgCSAgICBYRmlsdGVyRXZlbnQgKGV2ZW50cCwgZS0+d2luZG93KSA/ICJUcnVlIiA6ICJGYWxzZSIpOworQEAgLTEwMTUsNyArMTAxNSw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAgICAgICAgIGZwcmludGYgKHN0ZGVyciwgIiVzOiAgWFNldExvY2FsZU1vZGlmaWVycyBmYWlsZWRcbiIsIFByb2dyYW1OYW1lKTsKKyAgICAgfQorIAorLSAgICB4aW0gPSBYT3BlbklNIChkcHksIE5VTEwsIE5VTEwsIE5VTEwpOworKyAgICAvKnhpbSA9IFhPcGVuSU0gKGRweSwgTlVMTCwgTlVMTCwgTlVMTCk7CisgICAgIGlmICh4aW0gPT0gTlVMTCkgeworICAgICAgICAgZnByaW50ZiAoc3RkZXJyLCAiJXM6ICBYT3BlbklNIGZhaWxlZFxuIiwgUHJvZ3JhbU5hbWUpOworICAgICB9CitAQCAtMTA0Miw3ICsxMDQyLDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBYRnJlZSAoeGltX3N0eWxlcyk7CisgICAgICAgICB9CistICAgIH0KKysJfSovCisgCisgICAgIHNjcmVlbiA9IERlZmF1bHRTY3JlZW4gKGRweSk7CisgCitAQCAtMTEwOSw3ICsxMTA5LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAlwcmludGYgKCJPdXRlciB3aW5kb3cgaXMgMHglbHgsIGlubmVyIHdpbmRvdyBpcyAweCVseFxuIiwgdywgc3Vidyk7CisgICAgIH0KKyAKKy0gICAgaWYgKHhpbSAmJiB4aW1fc3R5bGUpIHsKKysgICAgLyppZiAoeGltICYmIHhpbV9zdHlsZSkgeworICAgICAgICAgeGljID0gWENyZWF0ZUlDICh4aW0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIFhOSW5wdXRTdHlsZSwgeGltX3N0eWxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICBYTkNsaWVudFdpbmRvdywgdywKK0BAIC0xMTE5LDcgKzExMTksNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgICAgICAgICBpZiAoeGljID09IE5VTEwpIHsKKyAgICAgICAgICAgICBmcHJpbnRmIChzdGRlcnIsICJYQ3JlYXRlSUMgZmFpbGVkXG4iKTsKKyAgICAgICAgIH0KKy0gICAgfQorKyAgICB9Ki8KKyAKKyAgICAgaGF2ZV9yciA9IFhSUlF1ZXJ5RXh0ZW5zaW9uIChkcHksICZycl9ldmVudF9iYXNlLCAmcnJfZXJyb3JfYmFzZSk7CisgICAgIGlmIChoYXZlX3JyKSB7CmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGV2XzEuMi4yLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hldl8xLjIuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTUxYjU3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hldl8xLjIuMi5iYgpAQCAtMCwwICsxLDE4IEBACityZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYIEV2ZW50IFZpZXdlciIKK0RFU0NSSVBUSU9OID0gIlhldiBjcmVhdGVzIGEgd2luZG93IGFuZCB0aGVuIGFza3MgdGhlIFggc2VydmVyIHRvIHNlbmQgaXQgZXZlbnRzIFwKK3doZW5ldmVyIGFueXRoaW5nIGhhcHBlbnMgdG8gdGhlIHdpbmRvdyAoc3VjaCBhcyBpdCBiZWluZyBtb3ZlZCwgcmVzaXplZCwgXAordHlwZWQgaW4sIGNsaWNrZWQgaW4sIGV0Yy4pLiBZb3UgY2FuIGFsc28gYXR0YWNoIGl0IHRvIGFuIGV4aXN0aW5nIHdpbmRvdy4iCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3hldi5jO2JlZ2lubGluZT0xO2VuZGxpbmU9MzM7bWQ1PTU3N2M5OTQyMWYxODAzYjg5MWQyYzc5MDk3YWU0NjgyIgorTElDRU5TRSA9ICJNSVQiCisKK1BFID0gIjEiCisKK0RFUEVORFMgKz0gImxpYnhyYW5kciB4cHJvdG8iCisKK1NSQ19VUkkgKz0gImZpbGU6Ly9kaWV0LXgxMS5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjI0OWJkZGU5MGYwMWMwZDg2MWFmNTJkYzhmZWMzNzllIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImQ5NGFlNjJhNmMxYWY1NmMyOTYxZDcxZjU3ODIwNzZhYzQxMTZmMGZhNGU0MDE0MjBhYzdlMGRiMzNkYzMxNGYiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGV5ZXNfMS4xLjEuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGV5ZXNfMS4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRkMGNiOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94ZXllc18xLjEuMS5iYgpAQCAtMCwwICsxLDE0IEBACityZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYMTEgZXllcyB0aGF0IGZvbGxvdyB0aGUgbW91c2UgY3Vyc29yIGRlbW8iCitERVNDUklQVElPTiA9ICJYZXllcyBpcyBhIHNtYWxsIFgxMSBhcHBsaWNhdGlvbiB0aGF0IHNob3dzIGEgcGFpciBvZiBleWVzIHRoYXQgbW92ZSB0byBcCitmb2xsb3cgdGhlIGxvY2F0aW9uIG9mIHRoZSBtb3VzZSBjdXJzb3IgYXJvdW5kIHRoZSBzY3JlZW4uIgorCitQRSA9ICIxIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zZWE1MWIzNjUwNTFhYzMyZDE4MTNhN2RiYWE0YmZjNiIKKworU1JDX1VSSVttZDVzdW1dID0gImEzMDM1ZGNlY2RiZGI4OWU4NjQxNzdjMDgwOTI0OTgxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk3NWU5ODY4MGNkNTllMWY5NDM5MDE2Mzg2NjA5NTQ2ZWQwOGMyODRkMGYwNWE5NTI3NmY5NmFjYTZlOGE1MjEiCisKK0RFUEVORFMgKz0gImxpYnhhdSBsaWJ4dCBsaWJ4ZXh0IGxpYnhtdSBsaWJ4cmVuZGVyIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hob3N0XzEuMC43LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hob3N0XzEuMC43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyNTczN2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGhvc3RfMS4wLjcuYmIKQEAgLTAsMCArMSwxNyBAQAorcmVxdWlyZSB4b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiU2VydmVyIGFjY2VzcyBjb250cm9sIHByb2dyYW0gZm9yIFgiCisKK0RFU0NSSVBUSU9OID0gIlRoZSB4aG9zdCBwcm9ncmFtIGlzIHVzZWQgdG8gYWRkIGFuZCBkZWxldGUgaG9zdCBuYW1lcyBvciBcCit1c2VyIG5hbWVzIHRvIHRoZSBsaXN0IGFsbG93ZWQgdG8gbWFrZSBjb25uZWN0aW9ucyB0byB0aGUgWCBzZXJ2ZXIuIEluIFwKK3RoZSBjYXNlIG9mIGhvc3RzLCB0aGlzIHByb3ZpZGVzIGEgcnVkaW1lbnRhcnkgZm9ybSBvZiBwcml2YWN5IGNvbnRyb2wgXAorYW5kIHNlY3VyaXR5LiBFbnZpcm9ubWVudHMgd2hpY2ggcmVxdWlyZSBtb3JlIHNvcGhpc3RpY2F0ZWQgbWVhc3VyZXMgXAorc2hvdWxkIGltcGxlbWVudCB0aGUgdXNlci1iYXNlZCBtZWNoYW5pc20gb3IgdXNlIHRoZSBob29rcyBpbiB0aGUgXAorcHJvdG9jb2wgZm9yIHBhc3Npbmcgb3RoZXIgYXV0aGVudGljYXRpb24gZGF0YSB0byB0aGUgc2VydmVyLiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGZiZWQ3MWRkZGY0ODU0MTgxOGNlZjgwNzkxMjQxOTkiCitERVBFTkRTICs9ICJsaWJ4bXUgbGlieGF1IgorUEUgPSAiMSIKKworU1JDX1VSSVttZDVzdW1dID0gImY1ZDQ5MDczOGIxNDhjYjdmMmZlNzYwZjQwZjkyNTE2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjkzZTYxOWVlMTU0NzFmNTc2Y2ZiMzBjNjYzZTE4ZjViYzcwYWNhNTc3YTYzZDJjMmMwM2YwMDZhNzgzN2MyOWEiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGluaXRfMS4zLjQuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGluaXRfMS4zLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTMxODUxOAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94aW5pdF8xLjMuNC5iYgpAQCAtMCwwICsxLDIwIEBACityZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYIFdpbmRvdyBTeXN0ZW0gaW5pdGlhbGl6ZXIiCisKK0RFU0NSSVBUSU9OID0gIlRoZSB4aW5pdCBwcm9ncmFtIGlzIHVzZWQgdG8gc3RhcnQgdGhlIFggV2luZG93IFN5c3RlbSBcCitzZXJ2ZXIgYW5kIGEgZmlyc3QgY2xpZW50IHByb2dyYW0gb24gc3lzdGVtcyB0aGF0IGNhbm5vdCBzdGFydCBYIFwKK2RpcmVjdGx5IGZyb20gL2V0Yy9pbml0IG9yIGluIGVudmlyb25tZW50cyB0aGF0IHVzZSBtdWx0aXBsZSB3aW5kb3cgXAorc3lzdGVtcy4gV2hlbiB0aGlzIGZpcnN0IGNsaWVudCBleGl0cywgeGluaXQgd2lsbCBraWxsIHRoZSBYIHNlcnZlciBhbmQgXAordGhlbiB0ZXJtaW5hdGUuIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xOGYwMWU3YjM5ODA3YmViZTJiOGRmMTAxYTAzOWI2OCIKKworUEUgPSAiMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjRlOTI4NDUyZGZhZjczODUxNDEzYTJkOGI4Yzc2Mzg4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc1ZDg4ZDczOTdhMDdlMDFkYjI1MzE2M2I3YzdhMDBiMjQ5YjNkMzBlOTk0ODlmMjczNGNhYzlhMGM3OTAyYjMiCisKK0VYVFJBX09FQ09ORiA9ICJhY19jdl9wYXRoX01DT09LSUU9JHtiaW5kaXJ9L21jb29raWUiCisKK1JERVBFTkRTXyR7UE59ICs9ICJ1dGlsLWxpbnV4LW1jb29raWUiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveGlucHV0XzEuNi4xLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hpbnB1dF8xLjYuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YmVmY2M4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hpbnB1dF8xLjYuMS5iYgpAQCAtMCwwICsxLDE0IEBACityZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJSdW50aW1lIGNvbmZpZ3VyYXRpb24gYW5kIHRlc3Qgb2YgWElucHV0IGRldmljZXMiCisKK0RFU0NSSVBUSU9OID0gIlhpbnB1dCBpcyBhbiB1dGlsaXR5IGZvciBjb25maWd1cmluZyBhbmQgdGVzdGluZyBYSW5wdXQgZGV2aWNlcyIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ODgxNTI1Zjg5Zjk5Y2FkMzljOTgzMmJjYjcyZTZmYTUiCisKK0RFUEVORFMgKz0gIiBsaWJ4aSBsaWJ4cmFuZHIgbGlieGluZXJhbWEiCisKKworU1JDX1VSSVttZDVzdW1dID0gIjMwNTk4MGFjNzhhNjk1NGUzMDZhMTRkODBhNTRjNDQxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImI3NjMyZDBmMjI4YThhNmJlOTNiMDk4NTdlYTQxMzk0MGZjZjQ0MDkxZTYwZjRhMGZlOWY1ZmQ4MmVmZDg3MWYiCisKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94a2Jjb21wXzEuMy4wLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hrYmNvbXBfMS4zLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWZhYzA2OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94a2Jjb21wXzEuMy4wLmJiCkBAIC0wLDAgKzEsMTkgQEAKK3JlcXVpcmUgeG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gIkEgcHJvZ3JhbSB0byBjb21waWxlIFhLQiBrZXlib2FyZCBkZXNjcmlwdGlvbiIKKworREVTQ1JJUFRJT04gPSAiVGhlIHhrYmNvbXAga2V5bWFwIGNvbXBpbGVyIGNvbnZlcnRzIGEgZGVzY3JpcHRpb24gb2YgYW4gXAorWEtCIGtleW1hcCBpbnRvIG9uZSBvZiBzZXZlcmFsIG91dHB1dCBmb3JtYXRzLiBUaGUgbW9zdCBjb21tb24gdXNlIGZvciBcCit4a2Jjb21wIGlzIHRvIGNyZWF0ZSBhIGNvbXBpbGVkIGtleW1hcCBmaWxlICgueGttIGV4dGVuc2lvbikgd2hpY2ggY2FuIFwKK2JlIHJlYWQgZGlyZWN0bHkgYnkgWEtCLWNhcGFibGUgWCBzZXJ2ZXJzIG9yIHV0aWxpdGllcy4iCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA4NDM2ZTRmNDQ3Njk2NGUyZTJkZDdlN2U0MWUwNzZhIgorCitQUiA9ICIke0lOQ19QUn0uMCIKKworREVQRU5EUyArPSAibGlieGtiZmlsZSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwMDEyYThlMzA5MmNkZGY3Zjg3YjI1MGY5NmJiMzhjNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjZmFjOTczNzc4ZmFiZjUyMTYxMjFhZDYwYjdhZjhhYjc0Y2U3NTEzYWYwZjkyNjBjZjhjNTMwOWUxNjIyYjJhIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3htb2RtYXBfMS4wLjkuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG1vZG1hcF8xLjAuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZGVhYzZhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3htb2RtYXBfMS4wLjkuYmIKQEAgLTAsMCArMSwxNyBAQAorcmVxdWlyZSB4b3JnLWFwcC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiVXRpbGl0eSBmb3IgbW9kaWZ5aW5nIGtleW1hcHMgYW5kIHBvaW50ZXIgYnV0dG9uIG1hcHBpbmdzIGluIFgiCisKK0RFU0NSSVBUSU9OID0gIlRoZSB4bW9kbWFwIHByb2dyYW0gaXMgdXNlZCB0byBlZGl0IGFuZCBkaXNwbGF5IHRoZSBcCitrZXlib2FyZCBtb2RpZmllciBtYXAgYW5kIGtleW1hcCB0YWJsZSB0aGF0IGFyZSB1c2VkIGJ5IGNsaWVudCBcCithcHBsaWNhdGlvbnMgdG8gY29udmVydCBldmVudCBrZXljb2RlcyBpbnRvIGtleXN5bXMuIEl0IGlzIHVzdWFsbHkgcnVuIFwKK2Zyb20gdGhlIHVzZXIncyBzZXNzaW9uIHN0YXJ0dXAgc2NyaXB0IHRvIGNvbmZpZ3VyZSB0aGUga2V5Ym9hcmQgXAorYWNjb3JkaW5nIHRvIHBlcnNvbmFsIHRhc3Rlcy4iCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MjcyYzE3ZTk2MzcwZTFlNzQ3NzNmYTIyZDk5ODk2MjEiCisKK1BFID0gIjEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3MjNmMDJkM2E1Zjk4NDUwNTU0NTU2MjA1ZjBhOTQ5NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiN2IwZTVjYzVmMTBkMGZiNmQyZDZlYTRmMDBjNzdlOGFjMGU4NDdjYzVhNzNiZTk0Y2Q4NjEzOWFjNGFjNDc4IgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveG9yZy1hcHAtY29tbW9uLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTI5Y2IyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hvcmctYXBwLWNvbW1vbi5pbmMKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJYIGFwcGxpY2F0aW9uIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy54Lm9yZy8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmciCitTRUNUSU9OID0gIngxMS9hcHBzIgorTElDRU5TRSA9ICJNSVQtWCIKK0RFUEVORFMgPSAidXRpbC1tYWNyb3MtbmF0aXZlIHZpcnR1YWwvbGlieDExIgorCisjIGRlcGVuZHMgb24gdmlydHVhbC9saWJ4MTEKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK0lOQ19QUiA9ICJyOCIKKworU1JDX1VSSSA9ICIke1hPUkdfTUlSUk9SfS9pbmRpdmlkdWFsL2FwcC8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCitGSUxFU18ke1BOfSArPSAiICR7bGliZGlyfS9YMTEvJHtCUE59ICR7ZGF0YWRpcn0vWDExL2FwcC1kZWZhdWx0cy8iCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHByb3BfMS4yLjIuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHByb3BfMS4yLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDc4YmYwNAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94cHJvcF8xLjIuMi5iYgpAQCAtMCwwICsxLDE4IEBACityZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJVdGlsaXR5IHRvIGRpc3BsYXkgd2luZG93IGFuZCBmb250IHByb3BlcnRpZXMgb2YgYW4gWCBzZXJ2ZXIiCisKK0RFU0NSSVBUSU9OID0gIlRoZSB4cHJvcCB1dGlsaXR5IGlzIGZvciBkaXNwbGF5aW5nIHdpbmRvdyBhbmQgZm9udCBcCitwcm9wZXJ0aWVzIGluIGFuIFggc2VydmVyLiBPbmUgd2luZG93IG9yIGZvbnQgaXMgc2VsZWN0ZWQgdXNpbmcgdGhlIFwKK2NvbW1hbmQgbGluZSBhcmd1bWVudHMgb3IgcG9zc2libHkgaW4gdGhlIGNhc2Ugb2YgYSB3aW5kb3csIGJ5IGNsaWNraW5nIFwKK29uIHRoZSBkZXNpcmVkIHdpbmRvdy4gQSBsaXN0IG9mIHByb3BlcnRpZXMgaXMgdGhlbiBnaXZlbiwgcG9zc2libHkgd2l0aCBcCitmb3JtYXR0aW5nIGluZm9ybWF0aW9uLiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTIyNmFiOGRiODhhYzBiYzAzOTE2NzNiZTQwYzlmOTEiCisKK0RFUEVORFMgKz0gImxpYnhtdSIKKworUEUgPSAiMSIKKworU1JDX1VSSVttZDVzdW1dID0gImZhZTNkMmZkYTA3Njg0MDI3YTY0M2NhNzgzZDU5NWNjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjliZWU4OGIxMDI1ODY1YWQxMjFmNzJkMzI1NzZkZDMwMjdhZjE0NDY3NzRhYTgzMDBjY2UzYzI2MWQ4NjliYzYiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHJhbmRyXzEuNC4zLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hyYW5kcl8xLjQuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWJkNDIwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctYXBwL3hyYW5kcl8xLjQuMy5iYgpAQCAtMCwwICsxLDE1IEBACityZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYUmFuZFI6IFggUmVzaXplLCBSb3RhdGUgYW5kIFJlZmxlY3QgZXh0ZW5zaW9uIGNvbW1hbmQiCisKK0RFU0NSSVBUSU9OID0gIlhyYW5kciBpcyB1c2VkIHRvIHNldCB0aGUgc2l6ZSwgb3JpZW50YXRpb24gYW5kL29yIFwKK3JlZmxlY3Rpb24gb2YgdGhlIG91dHB1dHMgZm9yIGEgc2NyZWVuLiBJdCBjYW4gYWxzbyBzZXQgdGhlIHNjcmVlbiBcCitzaXplLiIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1mZTE2MDhiZGIzM2NmOGM2MmE0NDM4ZjdkMzQ2NzliMyIKK0RFUEVORFMgKz0gImxpYnhyYW5kciBsaWJ4cmVuZGVyIgorUEUgPSAiMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjQ0MWZkYjk4ZDJhYmM2MDUxMTA4YjcwNzVkOTQ4ZmM3IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjcxNTRhYzM0ODZiODY5MjM2OTJmMmQ2Y2RiMjk5MWEyZWU3MmJjMzJhZjJjNDM3OWE2ZjFjMDY4ZjIwNGJlMWIiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHNldC9kaXNhYmxlLXhrYi5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94c2V0L2Rpc2FibGUteGtiLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3ZDEzYTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHNldC9kaXNhYmxlLXhrYi5wYXRjaApAQCAtMCwwICsxLDI2IEBACithZGQgIi1kaXNhYmxlLXhrYiIgb3B0aW9uCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitSZWJhc2UgZm9yIDEuMi4xIGJ5OiBZdSBLZSA8a2UueXVAaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA4MWMzYWU0Li4yNjYwMWJmIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC01MiwxMSArNTIsMTUgQEAgUEtHX0NIRUNLX01PRFVMRVMoU0VUX1hFWFQsIHhleHQsCisgCUFDX0NIRUNLX0hFQURFUlMoW1gxMS9leHRlbnNpb25zL2RwbXMuaCBYMTEvZXh0ZW5zaW9ucy9NSVRNaXNjLmhdLCwsWyNpbmNsdWRlIDxYMTEvWGxpYi5oPl0pCisgCUNQUEZMQUdTPSIkU0FWRV9DUFBGTEFHUyJdLFtlY2hvICJub3QgZm91bmQiXSkKKyAKKytBQ19BUkdfRU5BQkxFKHhrYiwgQUNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS14a2JdLCBbRGlzYWJsZSBYS0Igc3VwcG9ydF0pLAorKwkJWEtCPSIkZW5hYmxldmFsIiwgWEtCPSJ5ZXMiKQorK2lmIHRlc3QgIngkWEtCIiA9ICJ4eWVzIiA7IHRoZW4KKyBQS0dfQ0hFQ0tfTU9EVUxFUyhTRVRfWEtCLCB4MTEsCisgCVtTQVZFX0NQUEZMQUdTPSIkQ1BQRkxBR1MiCisgCUNQUEZMQUdTPSIkQ1BQRkxBR1MgJFNFVF9YS0JfQ0ZMQUdTICRTRVRfWDExX0NGTEFHUyIKKyAJQUNfQ0hFQ0tfSEVBREVSUyhbWDExL1hLQmxpYi5oXSwsLFsjaW5jbHVkZSA8WDExL1hsaWIuaD5dKQorIAlDUFBGTEFHUz0iJFNBVkVfQ1BQRkxBR1MiXSxbZWNobyAibm90IGZvdW5kIl0pCisrZmkKKyAKKyBBQ19BUkdfV0lUSCh4Zjg2bWlzYywgQUNfSEVMUF9TVFJJTkcoWy0td2l0aG91dC14Zjg2bWlzY10sW0Rpc2FibGUgeGY4Nm1pc2Mgc3VwcG9ydC5dKSwKKyAgICAgICAgICAgICAgICAgW1VTRV9YRjg2TUlTQz0iJHdpdGh2YWwiXSwgW1VTRV9YRjg2TUlTQz0ieWVzIl0pCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHNldF8xLjIuMy5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94c2V0XzEuMi4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2ODNiNzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHNldF8xLjIuMy5iYgpAQCAtMCwwICsxLDE5IEBACityZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJVdGlsaXR5IGZvciBzZXR0aW5nIHZhcmlvdXMgdXNlciBwcmVmZXJlbmNlIG9wdGlvbnMgb2YgdGhlIGRpc3BsYXkiCisKK0RFU0NSSVBUSU9OID0gInhzZXQgaXMgYSB1dGlsaXR5IHRoYXQgaXMgdXNlZCB0byBzZXQgdmFyaW91cyB1c2VyIFwKK3ByZWZlcmVuY2Ugb3B0aW9ucyBvZiB0aGUgZGlzcGxheS4iCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmVhODFjYzk4MjdjZGYxYWYwZTEyYzJiODIyOGNmOGQiCitERVBFTkRTICs9ICJsaWJ4ZXh0IGxpYnh4Zjg2bWlzYyBsaWJ4bXUgbGlieGF1IgorUEUgPSAiMSIKKworU1JDX1VSSSArPSAiZmlsZTovL2Rpc2FibGUteGtiLnBhdGNoIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZGNkMjI3Mzg4YjU3NDg3ZDU0M2NhYjJmZDdhNjAyZDciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDM4MmY0ZmIyOWI4ODY0N2UxM2YzYjRiYzI5MjYzMTM0MjcwNzQ3ZmMxNTljZmM1ZjdlM2FmMjM1ODhjODA2MyIKKworQ0ZMQUdTICs9ICItRF9HTlVfU09VUkNFIgorRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS14a2IgLS13aXRob3V0LWZvbnRjYWNoZSIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94dmluZm9fMS4xLjMuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHZpbmZvXzEuMS4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5NjVlZjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHZpbmZvXzEuMS4zLmJiCkBAIC0wLDAgKzEsMTQgQEAKK3JlcXVpcmUgeG9yZy1hcHAtY29tbW9uLmluYworCitTVU1NQVJZID0gIlByaW50IG91dCBYLVZpZGVvIGV4dGVuc2lvbiBhZGFwdG9yIGluZm9ybWF0aW9uIgorCitERVNDUklQVElPTiA9ICJ4dmluZm8gcHJpbnRzIG91dCB0aGUgY2FwYWJpbGl0aWVzIG9mIGFueSB2aWRlbyBhZGFwdG9ycyBcCithc3NvY2lhdGVkIHdpdGggdGhlIGRpc3BsYXkgdGhhdCBhcmUgYWNjZXNzaWJsZSB0aHJvdWdoIHRoZSBYLVZpZGVvIFwKK2V4dGVuc2lvbi4iCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWI2NjQxMDFhZDdhMWRjNzU4YTRjNDEwOWJmOTc4ZTY4IgorREVQRU5EUyArPSAiIGxpYnh2IgorUEUgPSAiMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjU1ODM2MDE3NmI3MThkZWUzYzM5YmMwNjQ4YzBkMTBjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlmYmE4YjY4ZGFmNTM4NjNlNjZkNTAwNGZhOWM3MDNmY2VjZjY5ZGI0ZDE1MWVhMmQzZDg4NWQ2MjFlNmU1ZWIiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHdpbmluZm9fMS4xLjMuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1hcHAveHdpbmluZm9fMS4xLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E0NTI0MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWFwcC94d2luaW5mb18xLjEuMy5iYgpAQCAtMCwwICsxLDE1IEBACityZXF1aXJlIHhvcmctYXBwLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJXaW5kb3cgaW5mb3JtYXRpb24gdXRpbGl0eSBmb3IgWCIKKworREVTQ1JJUFRJT04gPSAiWHdpbmluZm8gaXMgYSB1dGlsaXR5IGZvciBkaXNwbGF5aW5nIGluZm9ybWF0aW9uIGFib3V0IFwKK3dpbmRvd3MuICBJbmZvcm1hdGlvbiBtYXkgaW5jbHVkZSB3aW5kb3cgcG9zaXRpb24sIHNpemUsIGNvbG9yIGRlcHRoLCBcCithbmQgYSBudW1iZXIgb2Ygb3RoZXIgaXRlbXMuIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT03ODk3NmNkMzExNWY2ZmFmNjE1YWNjYzRlMDk0ZDkwZSIKK0RFUEVORFMgKz0gImxpYnhleHQgbGlieG11IgorCitQRSA9ICIwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjc3N2JhZmI2NzQ1NTVlNDhmZDg0Mzc2MTgyNzA5MzEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjE4ZWIwZWE5NWJkOGRlNzkwM2RmYWEyNjQyMzgyMGM1MjNhZDE1OThiZTA3NTFkMmQ4YjZhMmMyM2IyM2ZmOCIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LWV2ZGV2XzIuOS4yLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtZXZkZXZfMi45LjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjY0MjhkZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LWV2ZGV2XzIuOS4yLmJiCkBAIC0wLDAgKzEsMjAgQEAKK3JlcXVpcmUgeG9yZy1kcml2ZXItaW5wdXQuaW5jCisKK1NVTU1BUlkgPSAiWC5PcmcgWCBzZXJ2ZXIgLS0gZXZlbnQgZGV2aWNlcyAoZXZkZXYpIGlucHV0IGRyaXZlciIKKworREVTQ1JJUFRJT04gPSAiZXZkZXYgaXMgYW4gWG9yZyBpbnB1dCBkcml2ZXIgZm9yIExpbnV4J3MgZ2VuZXJpYyBldmVudCBcCitkZXZpY2VzLiBJdCB0aGVyZWZvcmUgc3VwcG9ydHMgYWxsIGlucHV0IGRldmljZXMgdGhhdCB0aGUga2VybmVsIGtub3dzIFwKK2Fib3V0LCBpbmNsdWRpbmcgbW9zdCBtaWNlIGFuZCBrZXlib2FyZHMuIFwKK1wKK1RoZSBldmRldiBkcml2ZXIgY2FuIHNlcnZlIGFzIGJvdGggYSBwb2ludGVyIGFuZCBhIGtleWJvYXJkIGlucHV0IFwKK2RldmljZSwgYW5kIG1heSBiZSB1c2VkIGFzIGJvdGggdGhlIGNvcmUga2V5Ym9hcmQgYW5kIHRoZSBjb3JlIHBvaW50ZXIuIFwKK011bHRpcGxlIGlucHV0IGRldmljZXMgYXJlIHN1cHBvcnRlZCBieSBtdWx0aXBsZSBpbnN0YW5jZXMgb2YgdGhpcyBcCitkcml2ZXIsIHdpdGggb25lIExvYWQgZGlyZWN0aXZlIGZvciBldmRldiBpbiB0aGUgTW9kdWxlIHNlY3Rpb24gb2YgeW91ciBcCit4b3JnLmNvbmYgZm9yIGVhY2ggaW5wdXQgZGV2aWNlIHRoYXQgd2lsbCB1c2UgdGhpcyBkcml2ZXIuICIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZmVmZTMzYjFjZjBjYWNiYTBlNzJlM2IwZmEwZjBlMTYiCisKK0RFUEVORFMgKz0gIm10ZGV2IGxpYmV2ZGV2IgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTllZWJmMTcxZTZjN2JmZmM0MmQ0ZmM0MzBkNDc0NTQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNzkyMzI5YjUzMWFmYzY5MjhjY2RhOTRlNGI1MWE1NTIwZDRkZGY4ZWY5YTAwODkwYTVkMGQzMTg5OGFjZWZlYyIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LWtleWJvYXJkXzEuOC4xLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQta2V5Ym9hcmRfMS44LjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmZlNTFhYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LWtleWJvYXJkXzEuOC4xLmJiCkBAIC0wLDAgKzEsMTMgQEAKK3JlcXVpcmUgeG9yZy1kcml2ZXItaW5wdXQuaW5jCisKK1NVTU1BUlkgPSAiWC5PcmcgWCBzZXJ2ZXIgLS0ga2V5Ym9hcmQgaW5wdXQgZHJpdmVyIgorCitERVNDUklQVElPTiA9ICJrZXlib2FyZCBpcyBhbiBYb3JnIGlucHV0IGRyaXZlciBmb3Iga2V5Ym9hcmRzLiBUaGUgXAorZHJpdmVyIHN1cHBvcnRzIHRoZSBzdGFuZGFyZCBPUy1wcm92aWRlZCBrZXlib2FyZCBpbnRlcmZhY2UuICBUaGUgZHJpdmVyIFwKK2Z1bmN0aW9ucyBhcyBhIGtleWJvYXJkIGlucHV0IGRldmljZSwgYW5kIG1heSBiZSB1c2VkIGFzIHRoZSBYIHNlcnZlcidzIFwKK2NvcmUga2V5Ym9hcmQuIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lYTIwOTlkMjRhYzllMzE2YTZkNGI5ZjIwYjNkNGUxMCIKKworU1JDX1VSSVttZDVzdW1dID0gIjk2Y2NjNDNkMzg5Yjk3MGFmYmQzODkzODc1ZGZkNjc4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFhYzhmZjM5YmY5ZGE3ZDJmYzdmZDZjMjQ1MTU3MjZlODEzODM0MGMwNTE4YWI4YzYwNmUwMDhjZjkzY2EyMTEiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC1rZXlib2FyZF9naXQuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC1rZXlib2FyZF9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGZiMDhmNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LWtleWJvYXJkX2dpdC5iYgpAQCAtMCwwICsxLDE2IEBACityZXF1aXJlIHhvcmctZHJpdmVyLWlucHV0LmluYworCitTVU1NQVJZID0gIlguT3JnIFggc2VydmVyIC0tIGtleWJvYXJkIGlucHV0IGRyaXZlciIKKworREVTQ1JJUFRJT04gPSAia2V5Ym9hcmQgaXMgYW4gWG9yZyBpbnB1dCBkcml2ZXIgZm9yIGtleWJvYXJkcy4gVGhlIFwKK2RyaXZlciBzdXBwb3J0cyB0aGUgc3RhbmRhcmQgT1MtcHJvdmlkZWQga2V5Ym9hcmQgaW50ZXJmYWNlLiAgVGhlIGRyaXZlciBcCitmdW5jdGlvbnMgYXMgYSBrZXlib2FyZCBpbnB1dCBkZXZpY2UsIGFuZCBtYXkgYmUgdXNlZCBhcyB0aGUgWCBzZXJ2ZXIncyBcCitjb3JlIGtleWJvYXJkLiIKKworU1JDUkVWID0gIjNlMjhkNjhiNTBkMjkxOTM4NzM0ZTk2ODRiODI5NmNhODY0ZjM4OTIiCitQViA9ICIxLjMuMitnaXQke1NSQ1BWfSIKK1BSID0gIiR7SU5DX1BSfS4wIgorCitTUkNfVVJJID0gImdpdDovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC94b3JnL2RyaXZlci94Zjg2LWlucHV0LWtleWJvYXJkIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtbW91c2UvdW5icmVhay5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LW1vdXNlL3VuYnJlYWsucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjkzMDg2NAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LW1vdXNlL3VuYnJlYWsucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorVW5icmVhayB0aGUgbGludXggbW91c2UgZHJpdmVyIGJ5IHVzaW5nIGNvbmZpZy5oCisKK1JQIC0gNC8xMS8wNworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworSW5kZXg6IGdpdC9zcmMvbG54X21vdXNlLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy9zcmMvbG54X21vdXNlLmMJMjAwOC0xMS0wNCAyMzo0NjowNS4wMDAwMDAwMDAgKzAwMDAKKysrKyBnaXQvc3JjL2xueF9tb3VzZS5jCTIwMDgtMTEtMDQgMjM6NDY6MTUuMDAwMDAwMDAwICswMDAwCitAQCAtMyw4ICszLDggQEAKKyAgKiBDb3B5cmlnaHQgMTk5OSBieSBUaGUgWEZyZWU4NiBQcm9qZWN0LCBJbmMuCisgICovCisgCistI2lmZGVmIEhBVkVfWE9SR19DT05GSUdfSAorLSNpbmNsdWRlIDx4b3JnLWNvbmZpZy5oPgorKyNpZmRlZiBIQVZFX0NPTkZJR19ICisrI2luY2x1ZGUgPGNvbmZpZy5oPgorICNlbmRpZgorIAorICNpbmNsdWRlIDxYMTEvWC5oPgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtbW91c2VfMS45LjEuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC1tb3VzZV8xLjkuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjBiNzhhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtbW91c2VfMS45LjEuYmIKQEAgLTAsMCArMSwxNSBAQAorcmVxdWlyZSB4b3JnLWRyaXZlci1pbnB1dC5pbmMKKworU1VNTUFSWSA9ICJYLk9yZyBYIHNlcnZlciAtLSBtb3VzZSBpbnB1dCBkcml2ZXIiCisKK0RFU0NSSVBUSU9OID0gIm1vdXNlIGlzIGFuIFhvcmcgaW5wdXQgZHJpdmVyIGZvciBtaWNlLiBUaGUgZHJpdmVyIFwKK3N1cHBvcnRzIG1vc3QgYXZhaWxhYmxlIG1vdXNlIHR5cGVzIGFuZCBpbnRlcmZhY2VzLiAgVGhlIG1vdXNlIGRyaXZlciBcCitmdW5jdGlvbnMgYXMgYSBwb2ludGVyIGlucHV0IGRldmljZSwgYW5kIG1heSBiZSB1c2VkIGFzIHRoZSBYIHNlcnZlcidzIFwKK2NvcmUgcG9pbnRlci4gTXVsdGlwbGUgbWljZSBhcmUgc3VwcG9ydGVkIGJ5IG11bHRpcGxlIGluc3RhbmNlcyBvZiB0aGlzIFwKK2RyaXZlci4iCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTkwZWE5ZjkwZDcyYjZkOTMyN2RlZGU1ZmZkYjJhNTEwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNzcwODViNjQ5YzVjMGIzMzM1NjViYTU2MmY1NzM5NTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzQ4NWQzNzU3NzljMDg0MDZmMDc4OWZlZWRkZTE1OTMzZGM3MDMxNThhMDg2ZGRhYzYzODU5OGY0NzlmYzVjZSIKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtbW91c2VfZ2l0LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtbW91c2VfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3OWEyZTQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC1tb3VzZV9naXQuYmIKQEAgLTAsMCArMSwxOCBAQAorcmVxdWlyZSB4b3JnLWRyaXZlci1pbnB1dC5pbmMKKworU1VNTUFSWSA9ICJYLk9yZyBYIHNlcnZlciAtLSBtb3VzZSBpbnB1dCBkcml2ZXIiCisKK0RFU0NSSVBUSU9OID0gIm1vdXNlIGlzIGFuIFhvcmcgaW5wdXQgZHJpdmVyIGZvciBtaWNlLiBUaGUgZHJpdmVyIFwKK3N1cHBvcnRzIG1vc3QgYXZhaWxhYmxlIG1vdXNlIHR5cGVzIGFuZCBpbnRlcmZhY2VzLiAgVGhlIG1vdXNlIGRyaXZlciBcCitmdW5jdGlvbnMgYXMgYSBwb2ludGVyIGlucHV0IGRldmljZSwgYW5kIG1heSBiZSB1c2VkIGFzIHRoZSBYIHNlcnZlcidzIFwKK2NvcmUgcG9pbnRlci4gTXVsdGlwbGUgbWljZSBhcmUgc3VwcG9ydGVkIGJ5IG11bHRpcGxlIGluc3RhbmNlcyBvZiB0aGlzIFwKK2RyaXZlci4iCisKK1NSQ1JFViA9ICJlYTVjZmU4MDRlMTEyZjMyMGYxNGFkODk2Yzc4MDJkNTM1NTFkM2U2IgorUFYgPSAiMS4zLjArZ2l0JHtTUkNQVn0iCitQUiA9ICIke0lOQ19QUn0uMCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy9kcml2ZXIveGY4Ni1pbnB1dC1tb3VzZSBcCisgICAgICAgICAgIGZpbGU6Ly91bmJyZWFrLnBhdGNoIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtc3luYXB0aWNzXzEuOC4yLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtc3luYXB0aWNzXzEuOC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5YzEyMmYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni1pbnB1dC1zeW5hcHRpY3NfMS44LjIuYmIKQEAgLTAsMCArMSwxOCBAQAorcmVxdWlyZSB4b3JnLWRyaXZlci1pbnB1dC5pbmMKKworU1VNTUFSWSA9ICJYLk9yZyBYIHNlcnZlciAtLSBzeW5hcHRpY3MgdG91Y2hwYWQgaW5wdXQgZHJpdmVyIgorCitERVNDUklQVElPTiA9ICJzeW5hcHRpY3MgaXMgYW4gWG9yZyBpbnB1dCBkcml2ZXIgZm9yIHRoZSB0b3VjaHBhZHMgZnJvbSBcCitTeW5hcHRpY3MgSW5jb3Jwb3JhdGVkLiBFdmVuIHRob3VnaCB0aGVzZSB0b3VjaHBhZHMgKGJ5IGRlZmF1bHQsIFwKK29wZXJhdGluZyBpbiBhIGNvbXBhdGliaWxpdHkgbW9kZSBlbXVsYXRpbmcgYSBzdGFuZGFyZCBtb3VzZSkgY2FuIGJlIFwKK2hhbmRsZWQgYnkgdGhlIG5vcm1hbCBldmRldiBvciBtb3VzZSBkcml2ZXJzLCB0aGlzIGRyaXZlciBhbGxvd3MgbW9yZSBcCithZHZhbmNlZCBmZWF0dXJlcyBvZiB0aGUgdG91Y2hwYWQgdG8gYmVjb21lIGF2YWlsYWJsZS4iCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU1YWFjZDM1MzVhNzQxODI0OTU1YzVlYjhmMDYxMzk4IgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGVkNjhlOGNjNjc0ZGQ2MWFkYjI4MDcwNDc2NGFhZmIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2IwZTE2NGViZDAyYTY4MGUwYzY5NTk1NWU3ODMwNTlmMzdlZGIwYzI2NTYzOThlMGE5NzJhZGM4ZTY5OGM4MCIKKworREVQRU5EUyArPSAibGlieGkgbXRkZXYgbGlieHRzdCBsaWJldmRldiIKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vWDExL3hvcmcuY29uZi5kIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtc3luYXB0aWNzX2dpdC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LXN5bmFwdGljc19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQwZjYzMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LXN5bmFwdGljc19naXQuYmIKQEAgLTAsMCArMSwxOCBAQAorcmVxdWlyZSB4b3JnLWRyaXZlci1pbnB1dC5pbmMKKworU1VNTUFSWSA9ICJYLk9yZyBYIHNlcnZlciAtLSBzeW5hcHRpY3MgdG91Y2hwYWQgaW5wdXQgZHJpdmVyIgorCitERVNDUklQVElPTiA9ICJzeW5hcHRpY3MgaXMgYW4gWG9yZyBpbnB1dCBkcml2ZXIgZm9yIHRoZSB0b3VjaHBhZHMgZnJvbSBcCitTeW5hcHRpY3MgSW5jb3Jwb3JhdGVkLiBFdmVuIHRob3VnaCB0aGVzZSB0b3VjaHBhZHMgKGJ5IGRlZmF1bHQsIFwKK29wZXJhdGluZyBpbiBhIGNvbXBhdGliaWxpdHkgbW9kZSBlbXVsYXRpbmcgYSBzdGFuZGFyZCBtb3VzZSkgY2FuIGJlIFwKK2hhbmRsZWQgYnkgdGhlIG5vcm1hbCBldmRldiBvciBtb3VzZSBkcml2ZXJzLCB0aGlzIGRyaXZlciBhbGxvd3MgbW9yZSBcCithZHZhbmNlZCBmZWF0dXJlcyBvZiB0aGUgdG91Y2hwYWQgdG8gYmVjb21lIGF2YWlsYWJsZS4iCisKK1NSQ1JFViA9ICI5MzRiYzAwMTJmOTQ4YzUyYWFkYzhlZGE5MTJmNzcyOGZiNzM5NGEyIgorUFYgPSAiMC4xNS4yK2dpdCR7U1JDUFZ9IgorUFIgPSAiJHtJTkNfUFJ9LjEiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvZHJpdmVyL3hmODYtaW5wdXQtc3luYXB0aWNzIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworREVQRU5EUyArPSAibGlieGkgbXRkZXYgbGlieHRzdCIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LXZtbW91c2VfMTMuMS4wLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtaW5wdXQtdm1tb3VzZV8xMy4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODYxNWI0OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LWlucHV0LXZtbW91c2VfMTMuMS4wLmJiCkBAIC0wLDAgKzEsMjYgQEAKK3JlcXVpcmUgeG9yZy1kcml2ZXItaW5wdXQuaW5jCisKK1NVTU1BUlkgPSAiWC5PcmcgWCBzZXJ2ZXIgLS0gVk1XYXJlIG1vdXNlIGlucHV0IGRyaXZlciIKK0RFU0NSSVBUSU9OID0gIlRoZSB2bW1vdXNlIGRyaXZlciBlbmFibGVzIHN1cHBvcnQgZm9yIHRoZSBzcGVjaWFsIFZNTW91c2UgXAorcHJvdG9jb2wgdGhhdCBpcyBwcm92aWRlZCBieSBWTXdhcmUgdmlydHVhbCBtYWNoaW5lcyB0byBnaXZlIGFic29sdXRlIFwKK3BvaW50ZXIgcG9zaXRpb25pbmcuIFRoZSB2bW1vdXNlIGRyaXZlciBpcyBjYXBhYmxlIG9mIGZhbGxpbmcgYmFjayB0byB0aGUgXAorc3RhbmRhcmQgJ21vdXNlJyBkcml2ZXIgaWYgYSBWTXdhcmUgdmlydHVhbCBtYWNoaW5lIGlzIG5vdCBkZXRlY3RlZC4iCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI4NWUyZTQ2NGI3MjE5YzQ5NWFkM2ExNjQ2NWMyMjZlZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwYWY1NTg5NTdhYzFiZTFiMjg2MzcxMmMyNDc1ZGU4ZjRkN2YxNDkyMWZkMDFkZWQyZTJmZGU0OTIxYjE5MzE5IgorCitSREVQRU5EU18ke1BOfSArPSAieGY4Ni1pbnB1dC1tb3VzZSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NjIyODQxYzA2OGE5ZDc2MjVmYmZlN2FjZmZiMWE4ZmMiCisKK0NPTVBBVElCTEVfSE9TVCA9ICcoaS44Nnx4ODZfNjQpLiotbGludXgnCisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKwkjIFdlIGRvbid0IGNhcmUgYWJvdXQgaGFsCisJcm0gLXJmICR7RH0ke2RhdGFkaXJ9L2hhbC8KKwlybSAtcmYgJHtEfSR7bGliZGlyfS9oYWwvCit9CisKK0VYVFJBX09FQ09ORiA9ICItLXdpdGgtdWRldi1ydWxlcy1kaXI9JHtub25hcmNoX2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQiCisKK0ZJTEVTXyR7UE59ICs9ICIke25vbmFyY2hfYmFzZV9saWJkaXJ9L3VkZXYvcnVsZXMuZC8gJHtkYXRhZGlyfS9YMTEveG9yZy5jb25mLmQiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1jaXJydXNfMS41LjMuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1jaXJydXNfMS41LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzQ5ODQ3NwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWNpcnJ1c18xLjUuMy5iYgpAQCAtMCwwICsxLDEzIEBACityZXF1aXJlIHhvcmctZHJpdmVyLXZpZGVvLmluYworCitTVU1NQVJZID0gIlguT3JnIFggc2VydmVyIC0tIGNpcnJ1cyBkaXNwbGF5IGRyaXZlciIKK0RFU0NSSVBUSU9OID0gImNpcnJ1cyBpcyBhbiBYb3JnIGRyaXZlciBmb3IgQ2lycnVzIExvZ2ljIFZHQSBhZGFwdGVycy4gVGhlc2UgXAorZGV2aWNlcyBhcmUgbm90IHNvIGNvbW1vbiBpbiB0aGUgd2lsZCBhbnltb3JlLCBidXQgUUVNVSBjYW4gZW11bGF0ZSBvbmUsIHNvIFwKK3RoZSBkcml2ZXIgaXMgc3RpbGwgdXNlZnVsLiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NmRkYzdjYTg2MGRjNWZkMDE0ZTdmMTYwZWE2OTkyOTUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3ZDdkZmQ0Y2RjNDJhYThiNmU5MjM1MTBmYTAwYWQyYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlZGM4N2IyMGE1NTI1OTEyNmI1MjM5YjVjMWVmOTEzNDE5ZWFiN2RlZDBlZDEyYWU5YWU5ODk0NjBkNzM1MWFiIgorCitERVBFTkRTICs9ICJsaWJwY2lhY2Nlc3MiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1mYmRldl8wLjQuNC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWZiZGV2XzAuNC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyZTliZDEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1mYmRldl8wLjQuNC5iYgpAQCAtMCwwICsxLDkgQEAKK3JlcXVpcmUgeG9yZy1kcml2ZXItdmlkZW8uaW5jCisKK1NVTU1BUlkgPSAiWC5PcmcgWCBzZXJ2ZXIgLS0gZmJkZXYgZGlzcGxheSBkcml2ZXIiCitERVNDUklQVElPTiA9ICJmYmRldiBpcyBhbiBYb3JnIGRyaXZlciBmb3IgZnJhbWVidWZmZXIgZGV2aWNlcy4gVGhpcyBpcyBhIG5vbi1hY2NlbGVyYXRlZCBkcml2ZXIuIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kOGNiZDk5ZmZmNzczZjkyZTg0NDk0OGY3NGVmMGRmOCIKKworU1JDX1VSSVttZDVzdW1dID0gIjM5MzFjMGUxOWQ0NDFjYzU3NmRjMDg4ZjllYjlmZDczIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjlkZDRiMzI2NDk4MjIzYWJiZmRmNzg2MDg5YTQ2ZWEzZGI0ZmE2YmJkMzQxMzA4ZWI0OGE5ZTAwYmMzZmQ1MWIiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbC9hbHdheXNfaW5jbHVkZV94b3JnX3NlcnZlci5oLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8taW50ZWwvYWx3YXlzX2luY2x1ZGVfeG9yZ19zZXJ2ZXIuaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTVkZDM5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8taW50ZWwvYWx3YXlzX2luY2x1ZGVfeG9yZ19zZXJ2ZXIuaC5wYXRjaApAQCAtMCwwICsxLDI0IEBACitJbmNsdWRlIHhvcmctc2VydmVyLmggdG8gZml4IGJ1aWxkIGVycm9ycyBzZWVuIHdpdGggZ2xpYmMgMi4yMAorCitJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvdWJ1bnR1L3dvcmsvdXBzdHJlYW0vb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLWdsaWJjL3N5c3Jvb3RzL3FlbXV4ODYvdXNyL2luY2x1ZGUvc3RyaW5nLmg6NjM0OjAsCisgICAgICAgICAgICAgICAgIGZyb20gL2hvbWUvdWJ1bnR1L3dvcmsvdXBzdHJlYW0vb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLWdsaWJjL3dvcmsvaTU4Ni1vZS1saW51eC94Zjg2LXZpZGVvLWludGVsLzJfMi45OS45MTItcjAveGY4Ni12aWRlby1pbnRlbC0yLjk5LjkxMi9zcmMvYmFja2xpZ2h0LmM6Mzk6CisvaG9tZS91YnVudHUvd29yay91cHN0cmVhbS9vcGVuZW1iZWRkZWQtY29yZS9idWlsZC90bXAtZ2xpYmMvc3lzcm9vdHMvcWVtdXg4Ni91c3IvaW5jbHVkZS94b3JnL29zLmg6NTc5OjE6IGVycm9yOiBleHBlY3RlZCBpZGVudGlmaWVyIG9yICcoJyBiZWZvcmUgJ19fZXh0ZW5zaW9uX18nCisgc3RybmR1cChjb25zdCBjaGFyICpzdHIsIHNpemVfdCBuKTsKKyBeCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitJbmRleDogeGY4Ni12aWRlby1pbnRlbC0yLjk5LjkxMi9zcmMvYmFja2xpZ2h0LmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB4Zjg2LXZpZGVvLWludGVsLTIuOTkuOTEyLm9yaWcvc3JjL2JhY2tsaWdodC5jCTIwMTQtMDQtMDkgMTA6NDE6MTguMDAwMDAwMDAwIC0wNzAwCisrKysgeGY4Ni12aWRlby1pbnRlbC0yLjk5LjkxMi9zcmMvYmFja2xpZ2h0LmMJMjAxNC0wOC0yOCAxODo1MjoyNS41MjQwNzA1ODcgLTA3MDAKK0BAIC0yOSw2ICsyOSw3IEBACisgI2luY2x1ZGUgImNvbmZpZy5oIgorICNlbmRpZgorIAorKyNpbmNsdWRlIDx4b3JnLXNlcnZlci5oPgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKyAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWludGVsL2Rpc2FibGUteDExLWRyaTMucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbC9kaXNhYmxlLXgxMS1kcmkzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkYTUwOGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbC9kaXNhYmxlLXgxMS1kcmkzLnBhdGNoCkBAIC0wLDAgKzEsMTcgQEAKK1RoZXNlIG1vZHVsZXMgYXJlIG9ubHkgdXNlZCBmb3IgdGVzdHMgdGhhdCBkb24ndCBnZXQgaW5zdGFsbGVkLCBhbmQgdGhlCithdXRvbWF0aWMgZGV0ZWN0aW9uIHdpdGhvdXQgZXhwbGljaXQgZGVwZW5kZW5jaWVzIG1lYW5zIHRoYXQgYSBidWlsZCBjYW4gZmluZAorZS5nLiB4c2htZmVuY2UgYXQgY29uZmlndXJlIHRpbWUgYnV0IHRoZW4gaXQncyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgc3lzcm9vdCBieQordGhlIHRpbWUgY29tcGlsZSBoYXBwZW5zLgorCitBcyB0aGUgdGVzdHMgZG9uJ3QgZ2V0IGluc3RhbGxlZCwganVzdCBkaXNhYmxlIHRoZSBjaGVja3MuCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbT0Utc3BlY2lmaWNdCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBiZDY1NGYzLi43OGEwZTBkIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0yNTEgKzI1MSBAQCBmaQorLVBLR19DSEVDS19NT0RVTEVTKFgxMV9EUkkzLCBbeGNiLWRyaTMgeGNiLXN5bmMgeGNiLXByZXNlbnQgeDExLXhjYiB4c2htZmVuY2UgeDExIHhyZW5kZXIgeGV4dCBsaWJkcm1dLCBbeDExX2RyaTM9InllcyJdLCBbeDExX2RyaTM9Im5vIl0pCisrI1BLR19DSEVDS19NT0RVTEVTKFgxMV9EUkkzLCBbeGNiLWRyaTMgeGNiLXN5bmMgeGNiLXByZXNlbnQgeDExLXhjYiB4c2htZmVuY2UgeDExIHhyZW5kZXIgeGV4dCBsaWJkcm1dLCBbeDExX2RyaTM9InllcyJdLCBbeDExX2RyaTM9Im5vIl0pCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbC9zbmEtUHJvdGVjdC1hZ2FpbnN0LUFCSS1icmVha2FnZS1pbi1yZWNlbnQtdmVyc2lvbnMtLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8taW50ZWwvc25hLVByb3RlY3QtYWdhaW5zdC1BQkktYnJlYWthZ2UtaW4tcmVjZW50LXZlcnNpb25zLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODlkNTJlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8taW50ZWwvc25hLVByb3RlY3QtYWdhaW5zdC1BQkktYnJlYWthZ2UtaW4tcmVjZW50LXZlcnNpb25zLS5wYXRjaApAQCAtMCwwICsxLDcwIEBACitGcm9tIDdmZTJiMjk0ODY1MjQ0M2ZmNDNkOTA3ODU1YmQ3YTA1MWQ1NGQzMDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KK0RhdGU6IFRodSwgMTkgTWFyIDIwMTUgMjM6MTQ6MTcgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gc25hOiBQcm90ZWN0IGFnYWluc3QgQUJJIGJyZWFrYWdlIGluIHJlY2VudCB2ZXJzaW9ucyBvZgorIGxpYmRybQorCitjb21taXQgN2ZlMmIyOTQ4NjUyNDQzZmY0M2Q5MDc4NTViZDdhMDUxZDU0ZDMwOSB1cHN0cmVhbS4KKworU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CitTaWduZWQtb2ZmLWJ5OiBQYXVsIEdvcnRtYWtlciA8cGF1bC5nb3J0bWFrZXJAd2luZHJpdmVyLmNvbT4KKworZGlmZiAtLWdpdCBhL3NyYy9zbmEva2dlbS5jIGIvc3JjL3NuYS9rZ2VtLmMKK2luZGV4IDExZjA4MjhmMmJiYy4uNmYxNmNiYWM4N2YyIDEwMDY0NAorLS0tIGEvc3JjL3NuYS9rZ2VtLmMKKysrKyBiL3NyYy9zbmEva2dlbS5jCitAQCAtMTgyLDYgKzE4MiwxNSBAQCBzdHJ1Y3QgbG9jYWxfaTkxNV9nZW1fY2FjaGluZyB7CisgI2RlZmluZSBMT0NBTF9JT0NUTF9JOTE1X0dFTV9TRVRfQ0FDSElORyBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBMT0NBTF9JOTE1X0dFTV9TRVRfQ0FDSElORywgc3RydWN0IGxvY2FsX2k5MTVfZ2VtX2NhY2hpbmcpCisgI2RlZmluZSBMT0NBTF9JT0NUTF9JOTE1X0dFTV9HRVRfQ0FDSElORyBEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBMT0NBTF9JOTE1X0dFTV9HRVRfQ0FDSElORywgc3RydWN0IGxvY2FsX2k5MTVfZ2VtX2NhY2hpbmcpCisgCisrc3RydWN0IGxvY2FsX2k5MTVfZ2VtX21tYXAgeworKwl1aW50MzJfdCBoYW5kbGU7CisrCXVpbnQzMl90IHBhZDsKKysJdWludDY0X3Qgb2Zmc2V0OworKwl1aW50NjRfdCBzaXplOworKwl1aW50NjRfdCBhZGRyX3B0cjsKKyt9OworKyNkZWZpbmUgTE9DQUxfSU9DVExfSTkxNV9HRU1fTU1BUCBEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX01NQVAsIHN0cnVjdCBsb2NhbF9pOTE1X2dlbV9tbWFwKQorKworIHN0cnVjdCBsb2NhbF9pOTE1X2dlbV9tbWFwMiB7CisgCXVpbnQzMl90IGhhbmRsZTsKKyAJdWludDMyX3QgcGFkOworQEAgLTUxNCwxNSArNTIzLDE1IEBAIHJldHJ5X3djOgorIAorIHN0YXRpYyB2b2lkICpfX2tnZW1fYm9fbWFwX19jcHUoc3RydWN0IGtnZW0gKmtnZW0sIHN0cnVjdCBrZ2VtX2JvICpibykKKyB7CistCXN0cnVjdCBkcm1faTkxNV9nZW1fbW1hcCBtbWFwX2FyZzsKKysJc3RydWN0IGxvY2FsX2k5MTVfZ2VtX21tYXAgYXJnOworIAlpbnQgZXJyOworIAorIHJldHJ5OgorLQlWR19DTEVBUihtbWFwX2FyZyk7CistCW1tYXBfYXJnLmhhbmRsZSA9IGJvLT5oYW5kbGU7CistCW1tYXBfYXJnLm9mZnNldCA9IDA7CistCW1tYXBfYXJnLnNpemUgPSBieXRlcyhibyk7CistCWlmICgoZXJyID0gZG9faW9jdGwoa2dlbS0+ZmQsIERSTV9JT0NUTF9JOTE1X0dFTV9NTUFQLCAmbW1hcF9hcmcpKSkgeworKwlWR19DTEVBUihhcmcpOworKwlhcmcuaGFuZGxlID0gYm8tPmhhbmRsZTsKKysJYXJnLm9mZnNldCA9IDA7CisrCWFyZy5zaXplID0gYnl0ZXMoYm8pOworKwlpZiAoKGVyciA9IGRvX2lvY3RsKGtnZW0tPmZkLCBMT0NBTF9JT0NUTF9JOTE1X0dFTV9NTUFQLCAmYXJnKSkpIHsKKyAJCWFzc2VydChlcnIgIT0gRUlOVkFMKTsKKyAKKyAJCWlmIChfX2tnZW1fdGhyb3R0bGVfcmV0aXJlKGtnZW0sIDApKQorQEAgLTUzNiwxMCArNTQ1LDEwIEBAIHJldHJ5OgorIAkJcmV0dXJuIE5VTEw7CisgCX0KKyAKKy0JVkcoVkFMR1JJTkRfTUFLRV9NRU1fREVGSU5FRChtbWFwX2FyZy5hZGRyX3B0ciwgYnl0ZXMoYm8pKSk7CisrCVZHKFZBTEdSSU5EX01BS0VfTUVNX0RFRklORUQoYXJnLmFkZHJfcHRyLCBieXRlcyhibykpKTsKKyAKKyAJREJHKCgiJXM6IGNhY2hpbmcgQ1BVIHZtYSBmb3IgJWRcbiIsIF9fRlVOQ1RJT05fXywgYm8tPmhhbmRsZSkpOworLQlyZXR1cm4gYm8tPm1hcF9fY3B1ID0gKHZvaWQgKikodWludHB0cl90KW1tYXBfYXJnLmFkZHJfcHRyOworKwlyZXR1cm4gYm8tPm1hcF9fY3B1ID0gKHZvaWQgKikodWludHB0cl90KWFyZy5hZGRyX3B0cjsKKyB9CisgCisgc3RhdGljIGludCBnZW1fd3JpdGUoaW50IGZkLCB1aW50MzJfdCBoYW5kbGUsCistLSAKKzIuNC40CisKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWludGVsL3VkZXYtZnN0YXQucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbC91ZGV2LWZzdGF0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlNjc1ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbC91ZGV2LWZzdGF0LnBhdGNoCkBAIC0wLDAgKzEsNTkgQEAKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gMTJhZjhhNTc1ZDE1MThkNDA0MTZmODMxOTUwNDkxNTdjM2EwNjJhNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgorRGF0ZTogVHVlLCAyNCBGZWIgMjAxNSAxNToyNTo0MCArMDAwMAorU3ViamVjdDogc25hOiB1ZGV2IGludGVncmF0aW9uIGRlcGVuZHMgb24gZnN0YXQgYW5kIHN5cy9zdGF0LmgKKworc3JjL3NuYS9zbmFfZHJpdmVyLmM6IEluIGZ1bmN0aW9uICdzbmFfaGFuZGxlX3VldmVudHMnOgorc3JjL3NuYS9zbmFfZHJpdmVyLmM6NzU5OjI6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnZnN0YXQnIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQorCitBbHNvIHRha2UgdGhlIG9wcG9ydHVuaXR5IHRvIGluY2x1ZGUgdWRldiBzdXBwb3J0IGluIHRoZSBjb25maWd1cmUKK3N1bW1hcnkuCisKK1NpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA3NDc2ZTJiLi5kZTNhNGIzIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0xOTcsMTEgKzE5NywxNSBAQCBBQ19BUkdfRU5BQkxFKHVkZXYsCisgCisgaWYgdGVzdCAieCRVREVWIiAhPSAieG5vIjsgdGhlbgorIAlQS0dfQ0hFQ0tfTU9EVUxFUyhVREVWLCBbbGlidWRldl0sIFt1ZGV2PSJ5ZXMiXSwgW3VkZXY9Im5vIl0pCisrCUFDX0NIRUNLX0hFQURFUlMoW3N5cy9zdGF0LmhdLCBbXSwgW3VkZXY9Im5vIl0pCisgCWlmIHRlc3QgIngkVURFViIgPSAieHllcyIgLWEgIngkdWRldiIgIT0gInh5ZXMiOyB0aGVuCisgCQlBQ19NU0dfRVJST1IoW3VkZXYgc3VwcG9ydCByZXF1ZXN0ZWQgYnV0IG5vdCBmb3VuZCAobGlidWRldildKQorIAlmaQorIAlpZiB0ZXN0ICJ4JHVkZXYiID0gInh5ZXMiOyB0aGVuCisgCQlBQ19ERUZJTkUoSEFWRV9VREVWLDEsW0VuYWJsZSB1ZGV2LWJhc2VkIG1vbml0b3IgaG90cGx1ZyBkZXRlY3Rpb25dKQorKwkJdWRldl9tc2c9IiB5ZXMiCisrCWVsc2UKKysJCXVkZXZfbXNnPSIgbm8iCisgCWZpCisgZmkKKyAKK0BAIC05MTEsNiArOTE1LDcgQEAgZWNobyAiICBTdXBwb3J0IGZvciBLZXJuZWwgTW9kZSBTZXR0aW5nPyAkS01TIgorIGVjaG8gIiAgU3VwcG9ydCBmb3IgbGVnYWN5IFVzZXIgTW9kZSBTZXR0aW5nIChmb3IgaTgxMCk/ICRVTVMiCisgZWNobyAiICBTdXBwb3J0IGZvciBEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlOiRkcmlfbXNnIgorIGVjaG8gIiAgU3VwcG9ydCBmb3IgWHYgbW90aW9uIGNvbXBlbnNhdGlvbiAoWHZNQyBhbmQgbGliWHZNQyk6JHh2bWNfbXNnIgorK2VjaG8gIiAgU3VwcG9ydCBmb3IgZGlzcGxheSBob3RwbHVnIG5vdGlmaWNhdGlvbnMgKHVkZXYpOiR1ZGV2X21zZyIKKyBlY2hvICIgIEJ1aWxkIGFkZGl0aW9uYWwgdG9vbHMgYW5kIHV0aWxpdGllcz8kdG9vbHNfbXNnIgorIGlmIHRlc3QgLW4gIiR4cF9tc2ciOyB0aGVuCisgZWNobyAiICBFeHBlcmltZW50YWwgc3VwcG9ydDokeHBfbXNnIgorZGlmZiAtLWdpdCBhL3NyYy9zbmEvc25hX2RyaXZlci5jIGIvc3JjL3NuYS9zbmFfZHJpdmVyLmMKK2luZGV4IDhjMGQwYjUuLmJjMjBlZjAgMTAwNjQ0CistLS0gYS9zcmMvc25hL3NuYV9kcml2ZXIuYworKysrIGIvc3JjL3NuYS9zbmFfZHJpdmVyLmMKK0BAIC03NDAsNiArNzQwLDggQEAgc25hX3dha2V1cF9oYW5kbGVyKFdBS0VVUEhBTkRMRVJfQVJHU19ERUNMKQorIH0KKyAKKyAjaWYgSEFWRV9VREVWCisrI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisrCisgc3RhdGljIHZvaWQKKyBzbmFfaGFuZGxlX3VldmVudHMoaW50IGZkLCB2b2lkICpjbG9zdXJlKQorIHsKKy0tIAorY2dpdCB2MC4xMC4yCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbF8yLjk5LjkxNy5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLWludGVsXzIuOTkuOTE3LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyZjE0NTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1pbnRlbF8yLjk5LjkxNy5iYgpAQCAtMCwwICsxLDQwIEBACityZXF1aXJlIHhvcmctZHJpdmVyLXZpZGVvLmluYworCitTVU1NQVJZID0gIlguT3JnIFggc2VydmVyIC0tIEludGVsIGludGVncmF0ZWQgZ3JhcGhpY3MgY2hpcHNldHMgZHJpdmVyIgorCitERVNDUklQVElPTiA9ICJpbnRlbCBpcyBhbiBYb3JnIGRyaXZlciBmb3IgSW50ZWwgaW50ZWdyYXRlZCBncmFwaGljcyBcCitjaGlwc2V0cy4gVGhlIGRyaXZlciBzdXBwb3J0cyBkZXB0aHMgOCwgMTUsIDE2IGFuZCAyNC4gT24gc29tZSBjaGlwc2V0cywgXAordGhlIGRyaXZlciBzdXBwb3J0cyBoYXJkd2FyZSBhY2NlbGVyYXRlZCAzRCB2aWEgdGhlIERpcmVjdCBSZW5kZXJpbmcgXAorSW5mcmFzdHJ1Y3R1cmUgKERSSSkuIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04NzMwYWQ1OGQxMWM3YmJhZDlhNzA2NmQ2OWY3ODA4ZSIKKworU1JDX1VSSSArPSAiZmlsZTovL2Rpc2FibGUteDExLWRyaTMucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL2Fsd2F5c19pbmNsdWRlX3hvcmdfc2VydmVyLmgucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL3NuYS1Qcm90ZWN0LWFnYWluc3QtQUJJLWJyZWFrYWdlLWluLXJlY2VudC12ZXJzaW9ucy0ucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL3VkZXYtZnN0YXQucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmYTE5NmE2NmU1MmMwYzYyNGZlNWQzNTBhZjdhNWU3YiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIwMGI3ODFlZWEwNTU1ODI4MjBhMTIzYzQ3YjYyNDExYmRmNmFhYmY0ZjAzZGMwNTY4ZmFlYzU1ZmFmOTY2N2M5IgorCitERVBFTkRTICs9ICJ2aXJ0dWFsL2xpYngxMSBkcm0gbGlicGNpYWNjZXNzIHBpeG1hbiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gInh2bWMgc25hIHVkZXYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdvcGVuZ2wnLCAnZHJpIGRyaTEgZHJpMicsICcnLCBkKX0iCisKK1BBQ0tBR0VDT05GSUdbZHJpXSA9ICItLWVuYWJsZS1kcmksLS1kaXNhYmxlLWRyaSIKK1BBQ0tBR0VDT05GSUdbZHJpMV0gPSAiLS1lbmFibGUtZHJpMSwtLWRpc2FibGUtZHJpMSx4Zjg2ZHJpcHJvdG8iCitQQUNLQUdFQ09ORklHW2RyaTJdID0gIi0tZW5hYmxlLWRyaTIsLS1kaXNhYmxlLWRyaTIsZHJpMnByb3RvIgorUEFDS0FHRUNPTkZJR1tkcmkzXSA9ICItLWVuYWJsZS1kcmkzLC0tZGlzYWJsZS1kcmkzLGRyaTNwcm90byIKK1BBQ0tBR0VDT05GSUdbc25hXSA9ICItLWVuYWJsZS1zbmEsLS1kaXNhYmxlLXNuYSIKK1BBQ0tBR0VDT05GSUdbdXhhXSA9ICItLWVuYWJsZS11eGEsLS1kaXNhYmxlLXV4YSIKK1BBQ0tBR0VDT05GSUdbdWRldl0gPSAiLS1lbmFibGUtdWRldiwtLWRpc2FibGUtdWRldix1ZGV2IgorUEFDS0FHRUNPTkZJR1t4dm1jXSA9ICItLWVuYWJsZS14dm1jLC0tZGlzYWJsZS14dm1jLGxpYnh2bWMgeGNiLXV0aWwiCitQQUNLQUdFQ09ORklHW3Rvb2xzXSA9ICItLWVuYWJsZS10b29scywtLWRpc2FibGUtdG9vbHMsbGlieGluZXJhbWEgbGlieHJhbmRyIGxpYnhkYW1hZ2UgbGlieGZpeGVzIGxpYnhjdXJzb3IgbGlieHRzdCBsaWJ4ZXh0IGxpYnhyZW5kZXIiCisKKyMgLS1lbmFibGUta21zLW9ubHkgb3B0aW9uIGlzIHJlcXVpcmVkIGJ5IFJPT1RMRVNTX1gKK0VYVFJBX09FQ09ORiArPSAnJHtAYmFzZV9jb25kaXRpb25hbCggIlJPT1RMRVNTX1giLCAiMSIsICIgLS1lbmFibGUta21zLW9ubHkiLCAiIiwgZCApfScKKworQ09NUEFUSUJMRV9IT1NUID0gJyhpLjg2fHg4Nl82NCkuKi1saW51eCcKKworRklMRVNfJHtQTn0gKz0gIiR7ZGF0YWRpcn0vcG9sa2l0LTEiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1vbWFwLzAwMDEtZHJtbW9kZV9vdXRwdXRfZHBtcy1SZXBsYWNlLWxvZ2ljYWwtd2l0aC1iaXR3aXNlLW9wZS5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLW9tYXAvMDAwMS1kcm1tb2RlX291dHB1dF9kcG1zLVJlcGxhY2UtbG9naWNhbC13aXRoLWJpdHdpc2Utb3BlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxZTc3ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1vbWFwLzAwMDEtZHJtbW9kZV9vdXRwdXRfZHBtcy1SZXBsYWNlLWxvZ2ljYWwtd2l0aC1iaXR3aXNlLW9wZS5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIGZjNjUzY2EzYjM2NDM1YWVhMjgxYWU0MDlmYjkwZjg1ZTFiYzBkODEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogTW9uLCA3IFNlcCAyMDE1IDA4OjQ0OjEzICswMDAwCitTdWJqZWN0OiBbZnJlZWRyZW5vXVtQQVRDSF0gZHJtbW9kZV9vdXRwdXRfZHBtczogUmVwbGFjZSBsb2dpY2FsICYmIHdpdGggYml0d2lzZSAmCisgb3BlcmF0aW9uCisKK1RoaXMgaXMgYSBtYXNrIGNhbGN1bGF0aW9uIHNvIGJpdGJ3aXNlICYgc2hvdWxkIGhhdmUgYmVlbiB1c2VkCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkCisKKyBzcmMvZHJtbW9kZV9kaXNwbGF5LmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvZHJtbW9kZV9kaXNwbGF5LmMgYi9zcmMvZHJtbW9kZV9kaXNwbGF5LmMKK2luZGV4IGMzY2Y0ZjguLmViNTRiNTkgMTAwNjQ0CistLS0gYS9zcmMvZHJtbW9kZV9kaXNwbGF5LmMKKysrKyBiL3NyYy9kcm1tb2RlX2Rpc3BsYXkuYworQEAgLTc3Nyw3ICs3NzcsNyBAQCBkcm1tb2RlX291dHB1dF9kcG1zKHhmODZPdXRwdXRQdHIgb3V0cHV0LCBpbnQgbW9kZSkKKyAKKyAJZm9yIChpID0gMDsgaSA8IGtvdXRwdXQtPmNvdW50X3Byb3BzOyBpKyspIHsKKyAJCXByb3BzID0gZHJtTW9kZUdldFByb3BlcnR5KGRybW1vZGUtPmZkLCBrb3V0cHV0LT5wcm9wc1tpXSk7CistCQlpZiAocHJvcHMgJiYgKHByb3BzLT5mbGFncyAmJiBEUk1fTU9ERV9QUk9QX0VOVU0pKSB7CisrCQlpZiAocHJvcHMgJiYgKHByb3BzLT5mbGFncyAmIERSTV9NT0RFX1BST1BfRU5VTSkpIHsKKyAJCQlpZiAoIXN0cmNtcChwcm9wcy0+bmFtZSwgIkRQTVMiKSkgeworIAkJCQltb2RlX2lkID0ga291dHB1dC0+cHJvcHNbaV07CisgCQkJCWRybU1vZGVGcmVlUHJvcGVydHkocHJvcHMpOworLS0gCisyLjUuMQorCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1vbWFwXzAuNC4zLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tb21hcF8wLjQuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjY4MmVkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tb21hcF8wLjQuMy5iYgpAQCAtMCwwICsxLDQzIEBACityZXF1aXJlIHhvcmctZHJpdmVyLXZpZGVvLmluYworCitTVU1NQVJZID0gIlguT3JnIFggc2VydmVyIC0tIFRleGFzIEluc3RydW1lbnRzIE9NQVAgZnJhbWVidWZmZXIgZHJpdmVyIgorCitTVU1NQVJZID0gIlguT3JnIFggc2VydmVyIC0tIFRJIE9NQVAgaW50ZWdyYXRlZCBncmFwaGljcyBjaGlwc2V0cyBkcml2ZXIiCisKK0RFU0NSSVBUSU9OID0gIk9wZW4tc291cmNlIFgub3JnIGdyYXBoaWNzIGRyaXZlciBmb3IgVEkgT01BUCBncmFwaGljcyBcCitDdXJyZW50bHkgcmVsaWVzIG9uIGEgY2xvc2VkLXNvdXJjZSBzdWJtb2R1bGUgZm9yIEVYQSBhY2NlbGVyYXRpb24gb24gXAordGhlIGZvbGxvd2luZyBjaGlwc2V0czogXAorICArIE9NQVAzNDMwIFwKKyAgKyBPTUFQMzYzMCBcCisgICsgT01BUDQ0MzAgXAorICArIE9NQVA0NDYwIFwKKyAgKyBPTUFQNTQzMCBcCisgICsgT01BUDU0MzIgXAorXAorTk9URTogdGhpcyBkcml2ZXIgaXMgd29yayBpbiBwcm9ncmVzcy4uICB5b3UgcHJvYmFibHkgZG9uJ3Qgd2FudCB0byB0cnkgXAorYW5kIHVzZSBpdCB5ZXQuICBUaGUgQVBJL0FCSSBiZXR3ZWVuIGRyaXZlciBhbmQga2VybmVsLCBhbmQgZHJpdmVyIGFuZCBcCithY2NlbGVyYXRpb24gc3VibW9kdWxlcyBpcyBub3Qgc3RhYmxlIHlldC4gIFRoaXMgZHJpdmVyIHJlcXVpcmVzIHRoZSBcCitvbWFwZHJtIGtlcm5lbCBkcml2ZXIgdy8gR0VNIHN1cHBvcnQuIFwKKyIKKworTElDRU5TRSA9ICJHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xMGNlNWRlM2IxMTEzMTVlYTY1MmE1Zjc0ZWMwYzYwMiIKK0RFUEVORFMgKz0gInZpcnR1YWwvbGlieDExIGxpYmRybSB4Zjg2ZHJpcHJvdG8iCisKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLWRybW1vZGVfb3V0cHV0X2RwbXMtUmVwbGFjZS1sb2dpY2FsLXdpdGgtYml0d2lzZS1vcGUucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJiZTM1ZGFmNmZhNGI3NTA5MmNjNGE4OTc4YzQzN2JjNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkYjFlMGU2OWZkNGM0YzhmZGNhNWVmMmNiMDQ0N2JjY2Q3NTE4YTcxODQ5NTg3NmE2OTA0YmVmNTdiMzk5ODZkIgorCitDRkxBR1MgKz0gIiAtSSR7U1RBR0lOR19JTkNESVJ9L3hvcmcgIgorCisjIFVzZSBvdmVybGF5IDIgb24gb21hcDMgdG8gZW5hYmxlIG90aGVyIGFwcHMgdG8gdXNlIG92ZXJsYXkgMSAoZS5nLiBkbWFpIG9yIG9tYXBmYnBsYXkpCitkb19jb21waWxlX3ByZXBlbmRfYXJtdjdhICgpIHsKKyAgICAgICAgc2VkIC1pIC1lIHM6ZmIxOmZiMjpnICR7U30vc3JjL29tYXBfeHYuYworfQorCitweXRob24gKCkgeworICAgIGlmIG5vdCBiYi51dGlscy5jb250YWlucyAoJ0RJU1RST19GRUFUVVJFUycsICdvcGVuZ2wnLCBUcnVlLCBGYWxzZSwgZCk6CisgICAgICAgIHJhaXNlIGJiLnBhcnNlLlNraXBQYWNrYWdlKCInb3BlbmdsJyBub3QgaW4gRElTVFJPX0ZFQVRVUkVTIikKK30KKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tb21hcGZiLzAwMDEtUHJldmVudHMtb21hcGZiLWZyb20tZnJvbS1jcmFzaGluZy13aGVuLXBpeGVsY2xvY2stby5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLW9tYXBmYi8wMDAxLVByZXZlbnRzLW9tYXBmYi1mcm9tLWZyb20tY3Jhc2hpbmctd2hlbi1waXhlbGNsb2NrLW8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzRjZjE2ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLW9tYXBmYi8wMDAxLVByZXZlbnRzLW9tYXBmYi1mcm9tLWZyb20tY3Jhc2hpbmctd2hlbi1waXhlbGNsb2NrLW8ucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSAyOGMwMDZjOTRlNTdlYTcxZGYxMWVjNGZmZjc5ZDdmZmNmYzQ4NjBmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRmFyIE1jS29uIDxGYXJNY0tvbkBidWdsYWJzLm5ldD4KK0RhdGU6IFR1ZSwgMyBNYXkgMjAxMSAyMDo1OTowNCArMDMwMAorU3ViamVjdDogW1BBVENIXSBQcmV2ZW50cyBvbWFwZmIgZnJvbSBmcm9tIGNyYXNoaW5nIHdoZW4gcGl4ZWxjbG9jayBvZiAwIGlzCisgc2VudCB0byBpdC4KKworRHVlIHRvIGEgTGludXggZGVzaWduIGJ1ZyBpdCBpcyBlYXN5IHRvIGdldCBhIHBpeGVsY2xvY2sgc2V0IHRvIHplcm8KK3doZW4gY2hhbmdpbmcgZGlzcGxheXMgYXQgcnVudGltZS4KKy0tLQorIHNyYy9vbWFwZmItb3V0cHV0LmMgfCA5ICsrKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvb21hcGZiLW91dHB1dC5jIGIvc3JjL29tYXBmYi1vdXRwdXQuYworaW5kZXggZjhiNGRiMy4uNGQ1OTI2NSAxMDA2NDQKKy0tLSBhL3NyYy9vbWFwZmItb3V0cHV0LmMKKysrKyBiL3NyYy9vbWFwZmItb3V0cHV0LmMKK0BAIC0xMjUsOCArMTI1LDEzIEBAIE9NQVBGQk91dHB1dEdldE1vZGVzKHhmODZPdXRwdXRQdHIgb3V0cHV0KQorIAkvKiBPbmx5IHBvcHVsYXRlIHRoZSBuYXRpdmUgKGN1cnJlbnQpIG1vZGUgKi8KKyAJbW9kZSA9IGNhbGxvYygxLCBzaXplb2YoRGlzcGxheU1vZGVSZWMpKTsKKyAJbW9kZS0+dHlwZSAgICAgIHw9IE1fVF9QUkVGRVJSRUQ7CistCW1vZGUtPkNsb2NrID0gUElDT1MyS0haKG9mYi0+c3RhdGVfaW5mby5waXhjbG9jayk7CistCW1vZGUtPlN5bnRoQ2xvY2sgPSBQSUNPUzJLSFoob2ZiLT5zdGF0ZV9pbmZvLnBpeGNsb2NrKTsKKysJaWYgKG9mYi0+c3RhdGVfaW5mby5waXhjbG9jayA9PSAwKSB7CisrCQltb2RlLT5DbG9jayA9IDA7CisrCQltb2RlLT5TeW50aENsb2NrID0gMDsKKysJfSBlbHNlIHsKKysJCW1vZGUtPkNsb2NrID0gUElDT1MyS0haKG9mYi0+c3RhdGVfaW5mby5waXhjbG9jayk7CisrCQltb2RlLT5TeW50aENsb2NrID0gUElDT1MyS0haKG9mYi0+c3RhdGVfaW5mby5waXhjbG9jayk7CisrCX0KKyAJbW9kZS0+SERpc3BsYXkgICA9IG9mYi0+c3RhdGVfaW5mby54cmVzOworIAltb2RlLT5IU3luY1N0YXJ0ID0gbW9kZS0+SERpc3BsYXkKKyAJICAgICAgICAgICAgICAgICAgKyBvZmItPnN0YXRlX2luZm8ucmlnaHRfbWFyZ2luOworLS0gCisyLjEuNAorCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1vbWFwZmIvMDAwMS1SZXZlcnQtU2V0LWEtbGFyZ2UtQ1JUQy11cHBlci1saW1pdC10by1ub3QtcHJ1bmUtbGFyLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tb21hcGZiLzAwMDEtUmV2ZXJ0LVNldC1hLWxhcmdlLUNSVEMtdXBwZXItbGltaXQtdG8tbm90LXBydW5lLWxhci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZmIwMWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tb21hcGZiLzAwMDEtUmV2ZXJ0LVNldC1hLWxhcmdlLUNSVEMtdXBwZXItbGltaXQtdG8tbm90LXBydW5lLWxhci5wYXRjaApAQCAtMCwwICsxLDQxIEBACitGcm9tIDhmYjdkMGY5OWQ0YWZiYjU3NGIzMGNiNGYxZTY2YThmODlkOTRhZDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogV2VkLCAyNiBKYW4gMjAxMSAxMjowNDozNiArMDEwMAorU3ViamVjdDogW1BBVENIIDEvNl0gUmV2ZXJ0ICJTZXQgYSBsYXJnZSBDUlRDIHVwcGVyIGxpbWl0IHRvIG5vdCBwcnVuZSBsYXJnZXIKKyByZXNvbHV0aW9ucyIKKworUGljdHVyZSBpcyBnYXJibGVkIGFmdGVyIHN3aXRjaGluZyByZXNvbHV0aW9ucywgc28gcmV2ZXJ0IGl0LgorVmlydHVhbCBzaXplIHRvbyBiaWcsIHJldmVydCB0aGUgY29tbWl0IDljNGQ3NTkyZGNiN2RjMjBhNDhhNmY5NDFkOWQ5NGJkNzNkMzQxNTMuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBzcmMvb21hcGZiLWNydGMuYyB8IDggKysrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL29tYXBmYi1jcnRjLmMgYi9zcmMvb21hcGZiLWNydGMuYworaW5kZXggOWFhYTUyZi4uY2JlZmYzNSAxMDA2NDQKKy0tLSBhL3NyYy9vbWFwZmItY3J0Yy5jCisrKysgYi9zcmMvb21hcGZiLWNydGMuYworQEAgLTE5MCwxMyArMTkwLDEzIEBAIE9NQVBGQkNSVENJbml0KFNjcm5JbmZvUHRyIHBTY3JuKQorIAkgKiBJbiBwcmFjdGlzZSwgdGhpcyBkb2Vzbid0IHNlZW0gdG8gYmUgc3VwcG9ydGVkLgorIAkgKiAobm8gd2F5IHRvIHNldHVwIHRoZSBvdmVybGF5IG9mZnNldC9iYXNlIGFkZHJlc3MpCisgCSAqLworLQkgLyogRklYTUU6IGZpZ3VyZSBvdXQgd2hhdCBtYWtlcyBzZW5zZSBoZXJlLiBBIGtub3duIG1heCByZXNvbHV0aW9uPworLQkgICogZnJhbWVidWZmZXIgc2l6ZT8KKy0JICAqLworIAl4Zjg2Q3J0Y1NldFNpemVSYW5nZShwU2NybiwKKy0JICAgICAgICAgICAgICAgICAgICAgOCwgOCwgMjA0OCwgMjA0OCk7CisrCSAgICAgICAgICAgICAgICAgICAgIDgsIDgsCisrCSAgICAgICAgICAgICAgICAgICAgIG9mYi0+c3RhdGVfaW5mby54cmVzX3ZpcnR1YWwsCisrCSAgICAgICAgICAgICAgICAgICAgIG9mYi0+c3RhdGVfaW5mby55cmVzX3ZpcnR1YWwpOworIAorIAlvZmItPmNydGMgPSB4Zjg2Q3J0Y0NyZWF0ZShwU2NybiwgJk9NQVBGQkNydGNGdW5jcyk7CisrCisgfQorIAorIAorLS0gCisxLjguMAorCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1vbWFwZmIvMDAwMi1SZXZlcnQtU2V0LXZpcnR1YWwtc2l6ZS13aGVuLWNvbmZpZ3VyaW5nLWZyYW1lYnVmZmVyLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tb21hcGZiLzAwMDItUmV2ZXJ0LVNldC12aXJ0dWFsLXNpemUtd2hlbi1jb25maWd1cmluZy1mcmFtZWJ1ZmZlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ODNhOTg5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tb21hcGZiLzAwMDItUmV2ZXJ0LVNldC12aXJ0dWFsLXNpemUtd2hlbi1jb25maWd1cmluZy1mcmFtZWJ1ZmZlci5wYXRjaApAQCAtMCwwICsxLDMyIEBACitGcm9tIDg1NWMzMzNhYzBkMTYzNTBmODk1ZjFkMWI5MzkxZTljYmIwYjZkYjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogV2VkLCAyNiBKYW4gMjAxMSAxMzoyNzoyMCArMDEwMAorU3ViamVjdDogW1BBVENIIDIvNl0gUmV2ZXJ0ICJTZXQgdmlydHVhbCBzaXplIHdoZW4gY29uZmlndXJpbmcgZnJhbWVidWZmZXIiCisKK1ZpcnR1YWwgc2l6ZSB0b28gYmlnLCBzbyByZXZlcnQgaXQuCisKK1RoaXMgcmV2ZXJ0cyBjb21taXQgMjY1M2VmMDc4ODNmYmQxYTVlNzAyNWY5MzAwY2Y4OWI3OWJhNDI5YS4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9vbWFwZmItY3J0Yy5jIHwgMiAtLQorIDEgZmlsZSBjaGFuZ2VkLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL29tYXBmYi1jcnRjLmMgYi9zcmMvb21hcGZiLWNydGMuYworaW5kZXggY2JlZmYzNS4uOTY1NWRiMiAxMDA2NDQKKy0tLSBhL3NyYy9vbWFwZmItY3J0Yy5jCisrKysgYi9zcmMvb21hcGZiLWNydGMuYworQEAgLTk4LDggKzk4LDYgQEAgT01BUEZCQ3J0Y0NvbW1pdENoYW5nZU1vZGUgKHhmODZDcnRjUHRyIGNydGMpCisgCXYgPSBvZmItPnN0YXRlX2luZm87CisgCXYueHJlcyA9IG1vZGUtPkhEaXNwbGF5OworIAl2LnlyZXMgPSBtb2RlLT5WRGlzcGxheTsKKy0Jdi54cmVzX3ZpcnR1YWwgPSBjcnRjLT5zY3JuLT52aXJ0dWFsWDsKKy0Jdi55cmVzX3ZpcnR1YWwgPSBjcnRjLT5zY3JuLT52aXJ0dWFsWTsKKyAJdi5hY3RpdmF0ZSA9IEZCX0FDVElWQVRFX05PVzsKKyAJdi5waXhjbG9jayA9IEtIWjJQSUNPUyhtb2RlLT5DbG9jayA/IG1vZGUtPkNsb2NrIDogNTYwMDApOworIAl2LmxlZnRfbWFyZ2luID0gbW9kZS0+SFRvdGFsIC0gbW9kZS0+SFN5bmNFbmQ7CistLSAKKzEuOC4wCisKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLW9tYXBmYi8wMDAzLWZvcmNlLXBsYWluLW1vZGUucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1vbWFwZmIvMDAwMy1mb3JjZS1wbGFpbi1tb2RlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3ZWE3YzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1vbWFwZmIvMDAwMy1mb3JjZS1wbGFpbi1tb2RlLnBhdGNoCkBAIC0wLDAgKzEsMzEgQEAKK0Zyb20gMjUyZjQ0YzA3MmQzNDQ3YTMyMTI3ZmM5YWZlNWQwZDQwZjNjNTEwZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitEYXRlOiBXZWQsIDI2IEphbiAyMDExIDEzOjIwOjIwICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMy82XSBmb3JjZSAncGxhaW4nIG1vZGUKKworVGhlIG5ldyBEU1MgbW9kZSBicmVha3MgWFYsIHNvIGZvcmNlIHBsYWluIG1vZGUKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBzcmMvb21hcGZiLWRyaXZlci5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL29tYXBmYi1kcml2ZXIuYyBiL3NyYy9vbWFwZmItZHJpdmVyLmMKK2luZGV4IDAxOGUwNDAuLjQ4YWEwOWMgMTAwNjQ0CistLS0gYS9zcmMvb21hcGZiLWRyaXZlci5jCisrKysgYi9zcmMvb21hcGZiLWRyaXZlci5jCitAQCAtMzI2LDcgKzMyNiw3IEBAIE9NQVBGQlByZUluaXQoU2NybkluZm9QdHIgcFNjcm4sIGludCBmbGFncykKKyAJT01BUEZCUHJvYmVDb250cm9sbGVyKG9mYi0+Y3RybF9uYW1lKTsKKyAKKyAJLyogRG8gd2UgaGF2ZSB0aGUgRFNTIGtlcm5lbCBBUEk/ICovCistCWlmIChzdGF0KFNZU0ZTX0RTU19ESVIsICZzdCkgPT0gMCkgeworKwlpZiAoMCkgeyAvL3N0YXQoU1lTRlNfRFNTX0RJUiwgJnN0KSA9PSAwKSB7CisgCQlvZmItPmRzcyA9IFRSVUU7CisgCX0gZWxzZSB7CisgCQlvZmItPmRzcyA9IEZBTFNFOworLS0gCisxLjguMAorCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1vbWFwZmIvMDAwNC1ibGFja2xpc3QtdHYtb3V0LnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tb21hcGZiLzAwMDQtYmxhY2tsaXN0LXR2LW91dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGFjOWE0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tb21hcGZiLzAwMDQtYmxhY2tsaXN0LXR2LW91dC5wYXRjaApAQCAtMCwwICsxLDMzIEBACitGcm9tIGNmYTQ2YjY3ZjU5MTE1ZjZkOGVmOTQxNGFmNjAzODA3NDlmZjNlYjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLb2VuIEtvb2kgPGtvZW5AZG9taW5pb24udGhydWhlcmUubmV0PgorRGF0ZTogV2VkLCAyNiBKYW4gMjAxMSAxMzoyMToxMiArMDEwMAorU3ViamVjdDogW1BBVENIIDQvNl0gYmxhY2tsaXN0IHR2IG91dAorCitUaGUgdHYtb3V0IGdldHMgYWRkZWQgbGFzdCBhbmQgdGhlIGRyaXZlciB0cmllcyB0byByZWNvbmZpZ3VyZSBkdmkgdG8gVFYgcmVzb2x1dGlvbnMsIHdoaWNoIGZhaWxzLiBzbyBibGFja2xpc3QgaXQKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtvZW4gS29vaSA8a29lbkBkb21pbmlvbi50aHJ1aGVyZS5uZXQ+CitTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gSmFuc2EgPE1hcnRpbi5KYW5zYUBnbWFpbC5jb20+CistLS0KKyBzcmMvb21hcGZiLW91dHB1dC1kc3MuYyB8IDQgKysrKworIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9vbWFwZmItb3V0cHV0LWRzcy5jIGIvc3JjL29tYXBmYi1vdXRwdXQtZHNzLmMKK2luZGV4IDZjYzUyZGUuLjgzY2I3MTEgMTAwNjQ0CistLS0gYS9zcmMvb21hcGZiLW91dHB1dC1kc3MuYworKysrIGIvc3JjL29tYXBmYi1vdXRwdXQtZHNzLmMKK0BAIC0yMDUsNiArMjA1LDEwIEBAIE9NQVBGQkRTU091dHB1dERldGVjdCAoeGY4Nk91dHB1dFB0ciBvdXRwdXQpCisgCWlmKG9mYi0+dGltaW5nc1tpZHhdWzBdID09ICdcMCcpCisgCQlyZXR1cm4gWEY4Nk91dHB1dFN0YXR1c0Rpc2Nvbm5lY3RlZDsKKyAKKysJLy8gSGFjayB0byBkaXNhYmxlIHRoZSB0diBvdXQKKysJaWYgKHN0cm5jbXAob3V0cHV0LT5uYW1lLCAidHYiLCAyKSA9PSAwKQorKwkJcmV0dXJuIFhGODZPdXRwdXRTdGF0dXNEaXNjb25uZWN0ZWQ7CisrCisgCXJldHVybiBYRjg2T3V0cHV0U3RhdHVzQ29ubmVjdGVkOworIH0KKyAKKy0tIAorMS44LjAKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tb21hcGZiLzAwMDUtQXR0ZW1wdC10by1maXgtVlJGQi5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLW9tYXBmYi8wMDA1LUF0dGVtcHQtdG8tZml4LVZSRkIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjdiMjg0MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLW9tYXBmYi8wMDA1LUF0dGVtcHQtdG8tZml4LVZSRkIucGF0Y2gKQEAgLTAsMCArMSwzMjUgQEAKK0Zyb20gOGIxZjY5N2E2MGUzNWFiODJmZmZkYWJmYWVmZGI0NWU5YTlkZjM3OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEVpbm8tVmlsbGUgVGFsdmFsYSA8dGFsdmFsYUBzdGFuZm9yZC5lZHU+CitEYXRlOiBUdWUsIDIzIEF1ZyAyMDExIDE4OjM3OjAxICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggNS82XSBBdHRlbXB0IHRvIGZpeCBWUkZCCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitodHRwOi8vZG9taW5pb24udGhydWhlcmUubmV0L2dpdC9jZ2l0LmNnaS94Zjg2LXZpZGVvLW9tYXBmYi9jb21taXQvP2g9a29lbi9maXh1cHMmaWQ9NjgzM2ZjOWY3OTUyNjVlNDk0M2QyNDgxMDNmYmFmMzQ2M2I1MTVkNgorCitTaWduZWQtb2ZmLWJ5OiBTZWJhc3RpYW4gS3J6eXN6a293aWFrIDxkb3NAZG9zb3dpc2tvLm5ldD4KK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9pbWFnZS1mb3JtYXQtY29udmVyc2lvbnMuYyB8ICA0ICstLQorIHNyYy9pbWFnZS1mb3JtYXQtY29udmVyc2lvbnMuaCB8ICAyICstCisgc3JjL29tYXBmYi1kcml2ZXIuYyAgICAgICAgICAgIHwgMjggKysrKysrKysrKysrKy0tLQorIHNyYy9vbWFwZmIteHYtYmxpenphcmQuYyAgICAgICB8ICAxICsKKyBzcmMvb21hcGZiLXh2LWdlbmVyaWMuYyAgICAgICAgfCA3MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KKyBzcmMvb21hcGZiLXh2LmMgICAgICAgICAgICAgICAgfCAgMyArKworIDYgZmlsZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvaW1hZ2UtZm9ybWF0LWNvbnZlcnNpb25zLmMgYi9zcmMvaW1hZ2UtZm9ybWF0LWNvbnZlcnNpb25zLmMKK2luZGV4IGRjZWZhOWIuLmQ0MzQyN2QgMTAwNjQ0CistLS0gYS9zcmMvaW1hZ2UtZm9ybWF0LWNvbnZlcnNpb25zLmMKKysrKyBiL3NyYy9pbWFnZS1mb3JtYXQtY29udmVyc2lvbnMuYworQEAgLTM4LDEzICszOCwxMyBAQAorICNpbmNsdWRlICJpbWFnZS1mb3JtYXQtY29udmVyc2lvbnMuaCIKKyAKKyAvKiBCYXNpYyBsaW5lLWJhc2VkIGNvcHkgZm9yIHBhY2tlZCBmb3JtYXRzICovCistdm9pZCBwYWNrZWRfbGluZV9jb3B5KGludCB3LCBpbnQgaCwgaW50IHN0cmlkZSwgdWludDhfdCAqc3JjLCB1aW50OF90ICpkZXN0KQorK3ZvaWQgcGFja2VkX2xpbmVfY29weShpbnQgdywgaW50IGgsIGludCBzcmNfc3RyaWRlLCBpbnQgZHN0X3N0cmlkZSwgdWludDhfdCAqc3JjLCB1aW50OF90ICpkZXN0KQorIHsKKyAJaW50IGk7CisgCWludCBsZW4gPSB3ICogMjsKKyAJZm9yIChpID0gMDsgaSA8IGg7IGkrKykKKyAJeworLQkJbWVtY3B5KGRlc3QgKyBpICogbGVuLCBzcmMgKyBpICogc3RyaWRlLCBsZW4pOworKwkJbWVtY3B5KGRlc3QgKyBpICogZHN0X3N0cmlkZSwgc3JjICsgaSAqIHNyY19zdHJpZGUsIGxlbik7CisgCX0KKyB9CisgCitkaWZmIC0tZ2l0IGEvc3JjL2ltYWdlLWZvcm1hdC1jb252ZXJzaW9ucy5oIGIvc3JjL2ltYWdlLWZvcm1hdC1jb252ZXJzaW9ucy5oCitpbmRleCA1ODQ4OTZhLi5iYTdjYWYyIDEwMDY0NAorLS0tIGEvc3JjL2ltYWdlLWZvcm1hdC1jb252ZXJzaW9ucy5oCisrKysgYi9zcmMvaW1hZ2UtZm9ybWF0LWNvbnZlcnNpb25zLmgKK0BAIC0yNyw3ICsyNyw3IEBACisgI2luY2x1ZGUgPHN0ZGludC5oPgorIAorIC8qIEJhc2ljIGxpbmUtYmFzZWQgY29weSBmb3IgcGFja2VkIGZvcm1hdHMgKi8KKy12b2lkIHBhY2tlZF9saW5lX2NvcHkoaW50IHcsIGludCBoLCBpbnQgc3RyaWRlLCB1aW50OF90ICpzcmMsIHVpbnQ4X3QgKmRlc3QpOworK3ZvaWQgcGFja2VkX2xpbmVfY29weShpbnQgdywgaW50IGgsIGludCBzcmNfc3RyaWRlLCBpbnQgZHN0X3N0cmlkZSwgdWludDhfdCAqc3JjLCB1aW50OF90ICpkZXN0KTsKKyAKKyAvKiBCYXNpYyBDIGltcGxlbWVudGF0aW9uIG9mIFlWMTIvSTQyMCB0byBVWVZZIGNvbnZlcnNpb24gKi8KKyB2b2lkIHV2MTJfdG9fdXl2eShpbnQgdywgaW50IGgsIGludCB5X3BpdGNoLCBpbnQgdXZfcGl0Y2gsIHVpbnQ4X3QgKnlfcCwgdWludDhfdCAqdV9wLCB1aW50OF90ICp2X3AsIHVpbnQ4X3QgKmRlc3QpOworZGlmZiAtLWdpdCBhL3NyYy9vbWFwZmItZHJpdmVyLmMgYi9zcmMvb21hcGZiLWRyaXZlci5jCitpbmRleCA0OGFhMDljLi4wNzk4OWY1IDEwMDY0NAorLS0tIGEvc3JjL29tYXBmYi1kcml2ZXIuYworKysrIGIvc3JjL29tYXBmYi1kcml2ZXIuYworQEAgLTY2LDYgKzY2LDcgQEAKKyAjZGVmaW5lIE9NQVBGQl9WRVJTSU9OIDEwMDAKKyAjZGVmaW5lIE9NQVBGQl9EUklWRVJfTkFNRSAiT01BUEZCIgorICNkZWZpbmUgT01BUEZCX05BTUUgIm9tYXBmYiIKKysjZGVmaW5lIEVORk9SQ0VfTU9ERVMKKyAKKyBzdGF0aWMgQm9vbCBPTUFQRkJQcm9iZShEcml2ZXJQdHIgZHJ2LCBpbnQgZmxhZ3MpOworIHN0YXRpYyBCb29sIE9NQVBGQlByZUluaXQoU2NybkluZm9QdHIgcFNjcm4sIGludCBmbGFncyk7CitAQCAtMTA1LDExICsxMDYsMTMgQEAgc3RhdGljIFN5bVRhYlJlYyBPTUFQRkJDaGlwc2V0c1tdID0geworIHR5cGVkZWYgZW51bSB7CisgCU9QVElPTl9BQ0NFTE1FVEhPRCwKKyAJT1BUSU9OX0ZCLAorKwlPUFRJT05fUk9UQVRFLAorIH0gRkJEZXZPcHRzOworIAorIHN0YXRpYyBjb25zdCBPcHRpb25JbmZvUmVjIE9NQVBGQk9wdGlvbnNbXSA9IHsKKyAJeyBPUFRJT05fQUNDRUxNRVRIT0QsCSJBY2NlbE1ldGhvZCIsCU9QVFZfU1RSSU5HLAl7MH0sCUZBTFNFIH0sCisgCXsgT1BUSU9OX0ZCLAkJImZiIiwJCU9QVFZfU1RSSU5HLAl7MH0sCUZBTFNFIH0sCisrCXsgT1BUSU9OX1JPVEFURSwJInJvdGF0aW9uIiwJT1BUVl9TVFJJTkcsCXswfSwJRkFMU0UgfSwKKyAJeyAtMSwJCQlOVUxMLAkJT1BUVl9OT05FLAl7MH0sCUZBTFNFIH0KKyB9OworIAorQEAgLTI4Niw2ICsyODksNyBAQCBPTUFQRkJQcmVJbml0KFNjcm5JbmZvUHRyIHBTY3JuLCBpbnQgZmxhZ3MpCisgeworIAlPTUFQRkJQdHIgb2ZiOworIAlFbnRpdHlJbmZvUHRyIHBFbnQ7CisrCWNoYXIgKnJvdGF0ZTsKKyAJcmdiIHplcm9zID0geyAwLCAwLCAwIH07CisgCXN0cnVjdCBzdGF0IHN0OworIAorQEAgLTM3OSw2ICszODMsOCBAQCBPTUFQRkJQcmVJbml0KFNjcm5JbmZvUHRyIHBTY3JuLCBpbnQgZmxhZ3MpCisgCXBTY3JuLT5wcm9nQ2xvY2sgPSBUUlVFOworIAlwU2Nybi0+Y2hpcHNldCAgID0gIm9tYXBmYiI7CisgCQorKwl4Zjg2RHJ2TXNnKHBTY3JuLT5zY3JuSW5kZXgsIFhfSU5GTywgIlJvdGF0ZSB0ZXN0IHZlcnNpb24gMC4wMlxuIik7CisrCQorIAkvKiBTdGFydCB3aXRoIGNvbmZpZ3VyZWQgdmlydHVhbCBzaXplICovCisgCXBTY3JuLT52aXJ0dWFsWCA9IHBTY3JuLT5kaXNwbGF5LT52aXJ0dWFsWDsKKyAJcFNjcm4tPnZpcnR1YWxZID0gcFNjcm4tPmRpc3BsYXktPnZpcnR1YWxZOworQEAgLTQ5NiwxMiArNTAyLDIxIEBAIE9NQVBGQlNjcmVlbkluaXQoaW50IHNjcm5JbmRleCwgU2NyZWVuUHRyIHBTY3JlZW4sIGludCBhcmdjLCBjaGFyICoqYXJndikKKyAJb2ZiLT5DbG9zZVNjcmVlbiA9IHBTY3JlZW4tPkNsb3NlU2NyZWVuOworIAlwU2NyZWVuLT5DbG9zZVNjcmVlbiA9IE9NQVBGQkNsb3NlU2NyZWVuOworIAorKwkvKiBFbmZvcmNlIHRoZSBkZWZhdWx0IG1vZGUgKHRoaXMgaXMgc2lsbHkgSSBndWVzcykgKi8KKysjaWZkZWYgRU5GT1JDRV9NT0RFUworKwkvL3hmODZEcnZNc2cocFNjcm4tPnNjcm5JbmRleCwgWF9JTkZPLCAiRW5mb3JjaW5nIG1vZGVzXG4iKTsKKysJLy9zZXRfbW9kZShvZmIsICZvZmItPmRlZmF1bHRfbW9kZSk7CisrCS8vcFNjcm4tPmRpc3BsYXlXaWR0aCA9IG9mYi0+Zml4ZWRfaW5mby5saW5lX2xlbmd0aCAvCisrCS8vICAob2ZiLT5zdGF0ZV9pbmZvLmJpdHNfcGVyX3BpeGVsPj4zKTsgLy9vZmItPnN0YXRlX2luZm8ueHJlczsKKysjZW5kaWYKKysKKyAJLyogTWFwIG91ciBmcmFtZWJ1ZmZlciBtZW1vcnkgKi8KKysJb2ZiLT5tZW1faW5mby5zaXplID0gb2ZiLT5maXhlZF9pbmZvLmxpbmVfbGVuZ3RoICogb2ZiLT5zdGF0ZV9pbmZvLnlyZXM7CisgCW9mYi0+ZmIgPSBtbWFwIChOVUxMLCBvZmItPm1lbV9pbmZvLnNpemUsCisgCSAgICAgICAgICAgICAgICBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLCBNQVBfU0hBUkVELAorIAkgICAgICAgICAgICAgICAgb2ZiLT5mZCwgMCk7CistCWlmIChvZmItPmZiID09IE5VTEwpIHsKKy0JCXhmODZEcnZNc2coc2NybkluZGV4LCBYX0VSUk9SLCAiTWFwcGluZyBmcmFtZWJ1ZmZlciBtZW1vcnkgZmFpbGVkXG4iKTsKKysJaWYgKG9mYi0+ZmIgPT0gTUFQX0ZBSUxFRCkgeworKwkJeGY4NkRydk1zZyhzY3JuSW5kZXgsIFhfRVJST1IsICJNYXBwaW5nIGZyYW1lYnVmZmVyIG1lbW9yeSBmYWlsZWQsIHdhbnRlZCAlZCBieXRlcy5cbiIsIG9mYi0+bWVtX2luZm8uc2l6ZSk7CisgCQlyZXR1cm4gRkFMU0U7CisgCX0KKyAKK0BAIC01NzgsOCArNTkzLDEzIEBAIE9NQVBGQlNjcmVlbkluaXQoaW50IHNjcm5JbmRleCwgU2NyZWVuUHRyIHBTY3JlZW4sIGludCBhcmdjLCBjaGFyICoqYXJndikKKyAJfSBlbHNlIGlmICghb2ZiLT5kc3MpIHsKKyAKKyAJCW9mYi0+cGxhbmVfaW5mby5lbmFibGVkID0gMTsKKy0JCW9mYi0+cGxhbmVfaW5mby5vdXRfd2lkdGggPSBvZmItPnN0YXRlX2luZm8ueHJlczsKKy0JCW9mYi0+cGxhbmVfaW5mby5vdXRfaGVpZ2h0ID0gb2ZiLT5zdGF0ZV9pbmZvLnlyZXM7CisrCQlpZiAob2ZiLT5zdGF0ZV9pbmZvLnJvdGF0ZSA9PSAwIHx8IG9mYi0+c3RhdGVfaW5mby5yb3RhdGUgPT0gMikgeworKwkJCW9mYi0+cGxhbmVfaW5mby5vdXRfd2lkdGggPSBvZmItPnN0YXRlX2luZm8ueHJlczsKKysJCQlvZmItPnBsYW5lX2luZm8ub3V0X2hlaWdodCA9IG9mYi0+c3RhdGVfaW5mby55cmVzOworKwkJfSBlbHNlIHsKKysJCQlvZmItPnBsYW5lX2luZm8ub3V0X3dpZHRoID0gb2ZiLT5zdGF0ZV9pbmZvLnlyZXM7CisrCQkJb2ZiLT5wbGFuZV9pbmZvLm91dF9oZWlnaHQgPSBvZmItPnN0YXRlX2luZm8ueHJlczsKKysJCX0KKyAKKyAJCWlmIChpb2N0bCAob2ZiLT5mZCwgT01BUEZCX1NFVFVQX1BMQU5FLCAmb2ZiLT5wbGFuZV9pbmZvKSkgeworIAkJCXhmODZEcnZNc2coc2NybkluZGV4LCBYX0VSUk9SLAorZGlmZiAtLWdpdCBhL3NyYy9vbWFwZmIteHYtYmxpenphcmQuYyBiL3NyYy9vbWFwZmIteHYtYmxpenphcmQuYworaW5kZXggNDA2ZmZjNi4uYjcxZDJhYSAxMDA2NDQKKy0tLSBhL3NyYy9vbWFwZmIteHYtYmxpenphcmQuYworKysrIGIvc3JjL29tYXBmYi14di1ibGl6emFyZC5jCitAQCAtMjIwLDYgKzIyMCw3IEBAIGludCBPTUFQRkJYVlB1dEltYWdlQmxpenphcmQgKFNjcm5JbmZvUHRyIHBTY3JuLAorIAkJCXBhY2tlZF9saW5lX2NvcHkoc3JjX3cgJiB+MywKKyAJCQkgICAgICAgICAgICAgICAgIHNyY19oICYgfjMsCisgCQkJICAgICAgICAgICAgICAgICAoKHNyY193ICsgMSkgJiB+MSkgKiAyLAorKwkJCQkJIG9mYi0+cG9ydC0+Zml4ZWRfaW5mby5saW5lX2xlbmd0aCwKKyAJCQkgICAgICAgICAgICAgICAgICh1aW50OF90KilidWYsCisgCQkJICAgICAgICAgICAgICAgICAodWludDhfdCopb2ZiLT5wb3J0LT5mYik7CisgCQkJYnJlYWs7CitkaWZmIC0tZ2l0IGEvc3JjL29tYXBmYi14di1nZW5lcmljLmMgYi9zcmMvb21hcGZiLXh2LWdlbmVyaWMuYworaW5kZXggZTZmODlmZS4uYjMzZjM0NCAxMDA2NDQKKy0tLSBhL3NyYy9vbWFwZmIteHYtZ2VuZXJpYy5jCisrKysgYi9zcmMvb21hcGZiLXh2LWdlbmVyaWMuYworQEAgLTYyLDcgKzYyLDcgQEAgaW50IE9NQVBYVkFsbG9jUGxhbmUoU2NybkluZm9QdHIgcFNjcm4pCisgeworIAlPTUFQRkJQdHIgb2ZiID0gT01BUEZCKHBTY3JuKTsKKyAKKy0JLyogVGhlIG1lbW9yeSBzaXplIGlzIGFscmVhZHkgc2V0IGluIE9NQVBGQlhWUXVlcnlJbWFnZUF0dHJpYnV0ZXMgKi8KKysJLyogVGhlIG1lbW9yeSBzaXplIGlzIGFscmVhZHkgc2V0IGJlZm9yZSB3ZSBnZXQgaGVyZSAqLworIAlpZiAoaW9jdGwob2ZiLT5wb3J0LT5mZCwgT01BUEZCX1NFVFVQX01FTSwgJm9mYi0+cG9ydC0+bWVtX2luZm8pICE9IDApIHsKKyAJCXhmODZEcnZNc2cocFNjcm4tPnNjcm5JbmRleCwgWF9FUlJPUiwKKyAJCSAgICAgICAgICAgIkZhaWxlZCB0byBhbGxvY2F0ZSB2aWRlbyBwbGFuZSBtZW1vcnlcbiIpOworQEAgLTczLDE5ICs3MywyMCBAQCBpbnQgT01BUFhWQWxsb2NQbGFuZShTY3JuSW5mb1B0ciBwU2NybikKKyAJb2ZiLT5wb3J0LT5mYiA9IG1tYXAgKE5VTEwsIG9mYi0+cG9ydC0+bWVtX2luZm8uc2l6ZSwKKyAJICAgICAgICAgICAgICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsIE1BUF9TSEFSRUQsCisgCSAgICAgICAgICAgICAgICBvZmItPnBvcnQtPmZkLCAwKTsKKy0JaWYgKG9mYi0+cG9ydC0+ZmIgPT0gTlVMTCkgeworKwlpZiAob2ZiLT5wb3J0LT5mYiA9PSBNQVBfRkFJTEVEKSB7CisgCQl4Zjg2RHJ2TXNnKHBTY3JuLT5zY3JuSW5kZXgsIFhfRVJST1IsCisgCQkgICAgICAgICAgICJNYXBwaW5nIHZpZGVvIG1lbW9yeSBmYWlsZWRcbiIpOworIAkJcmV0dXJuIFh2QmFkQWxsb2M7CisgCX0KKyAKKyAJLyogVXBkYXRlIHRoZSBzdGF0ZSBpbmZvICovCisrCS8qIExldCdzIG5vdCAtIGl0J3MgYmFkCisgCWlmIChpb2N0bCAob2ZiLT5wb3J0LT5mZCwgRkJJT0dFVF9WU0NSRUVOSU5GTywgJm9mYi0+cG9ydC0+c3RhdGVfaW5mbykpCisgCXsKKyAJCXhmODZNc2coWF9FUlJPUiwgIiVzOiBSZWFkaW5nIHN0YXRlIGluZm8gZmFpbGVkXG4iLCBfX0ZVTkNUSU9OX18pOworIAkJcmV0dXJuIFh2QmFkQWxsb2M7CisgCX0KKy0KKysJKi8KKyAJcmV0dXJuIFN1Y2Nlc3M7CisgfQorIAorQEAgLTkzLDYgKzk0LDcgQEAgaW50IE9NQVBYVkFsbG9jUGxhbmUoU2NybkluZm9QdHIgcFNjcm4pCisgaW50IE9NQVBYVlNldHVwVmlkZW9QbGFuZShTY3JuSW5mb1B0ciBwU2NybikKKyB7CisgCU9NQVBGQlB0ciBvZmIgPSBPTUFQRkIocFNjcm4pOworKwlpbnQgcmV0OworIAorIAlpZiAoaW9jdGwgKG9mYi0+cG9ydC0+ZmQsIEZCSU9QVVRfVlNDUkVFTklORk8sICZvZmItPnBvcnQtPnN0YXRlX2luZm8pKQorIAl7CitAQCAtMTA0LDYgKzEwNiwzMSBAQCBpbnQgT01BUFhWU2V0dXBWaWRlb1BsYW5lKFNjcm5JbmZvUHRyIHBTY3JuKQorIAkJeGY4Nk1zZyhYX0VSUk9SLCAiJXM6IFJlYWRpbmcgc3RhdGUgaW5mbyBmYWlsZWRcbiIsIF9fRlVOQ1RJT05fXyk7CisgCQlyZXR1cm4gWHZCYWRBbGxvYzsKKyAJfQorKwkvKiBDaGFuZ2luZyByb3RhdGlvbi9ub25zdGQgZmxhZ3MgY2FuIGNoYW5nZSB0aGUgZml4ZWQgaW5mbyEgKi8KKysJaWYgKGlvY3RsIChvZmItPnBvcnQtPmZkLCBGQklPR0VUX0ZTQ1JFRU5JTkZPLCAmb2ZiLT5wb3J0LT5maXhlZF9pbmZvKSkKKysJeworKwkJeGY4Nk1zZyhYX0VSUk9SLCAiJXM6IFJlYWRpbmcgc3RhdGUgaW5mbyBmYWlsZWRcbiIsIF9fRlVOQ1RJT05fXyk7CisrCQlyZXR1cm4gWHZCYWRBbGxvYzsKKysJfQorKwkvKiBDb3JyZWN0IGZpeGVkIGluZm8gcmVxdWlyZXMgcmVjYWxjdWxhdGlvbiBvZiBuZWVkZWQgbWVtb3J5ICovCisrCW9mYi0+cG9ydC0+bWVtX2luZm8uc2l6ZSA9IG9mYi0+cG9ydC0+Zml4ZWRfaW5mby5saW5lX2xlbmd0aCAqIG9mYi0+cG9ydC0+c3RhdGVfaW5mby55cmVzOworKworKwkvKiBBbGxvY2F0ZSBidWZmZXIgbWVtb3J5ICovCisrCXJldCA9IE9NQVBYVkFsbG9jUGxhbmUocFNjcm4pOworKwlpZiAocmV0ICE9IFN1Y2Nlc3MpCisrCQlyZXR1cm4gcmV0OworKworKwkvKiBXb3JrYXJvdW5kIGZvciByZXNldCBvZiBtb2RlIGFmdGVyIG1lbW9yeSBhbGxvICovCisrCWlmIChpb2N0bCAob2ZiLT5wb3J0LT5mZCwgRkJJT1BVVF9WU0NSRUVOSU5GTywgJm9mYi0+cG9ydC0+c3RhdGVfaW5mbykpCisrCXsKKysJCXhmODZNc2coWF9FUlJPUiwgIiVzOiBzZXR0aW5nIHN0YXRlIGluZm8gZmFpbGVkXG4iLCBfX0ZVTkNUSU9OX18pOworKwkJcmV0dXJuIFh2QmFkQWxsb2M7CisrCX0KKysJaWYgKGlvY3RsIChvZmItPnBvcnQtPmZkLCBGQklPR0VUX1ZTQ1JFRU5JTkZPLCAmb2ZiLT5wb3J0LT5zdGF0ZV9pbmZvKSkKKysJeworKwkJeGY4Nk1zZyhYX0VSUk9SLCAiJXM6IFJlYWRpbmcgc3RhdGUgaW5mbyBmYWlsZWRcbiIsIF9fRlVOQ1RJT05fXyk7CisrCQlyZXR1cm4gWHZCYWRBbGxvYzsKKysJfQorIAorIAlpZihpb2N0bChvZmItPnBvcnQtPmZkLCBPTUFQRkJfU0VUVVBfUExBTkUsCisgCSAgICZvZmItPnBvcnQtPnBsYW5lX2luZm8pICE9IDApIHsKK0BAIC0xMjQsNiArMTUxLDggQEAgaW50IE9NQVBGQlhWUHV0SW1hZ2VHZW5lcmljIChTY3JuSW5mb1B0ciBwU2NybiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERyYXdhYmxlUHRyIHBEcmF3KQorIHsKKyAJT01BUEZCUHRyIG9mYiA9IE9NQVBGQihwU2Nybik7CisrCXNob3J0IGRyd190ZW1wOworKwlzaG9ydCByb3RfeHJlcywgcm90X3lyZXM7CisgCisgCWlmICghb2ZiLT5wb3J0LT5wbGFuZV9pbmZvLmVuYWJsZWQKKyAJIHx8IG9mYi0+cG9ydC0+dXBkYXRlX3dpbmRvdy54ICE9IHNyY194CitAQCAtMTYzLDEzICsxOTIsNiBAQCBpbnQgT01BUEZCWFZQdXRJbWFnZUdlbmVyaWMgKFNjcm5JbmZvUHRyIHBTY3JuLAorIAkJCXJldHVybiBTdWNjZXNzOworIAkJfQorIAorLQkJLyogSWYgd2UgZG9uJ3QgaGF2ZSB0aGUgcGxhbmUgcnVubmluZywgZW5hYmxlIGl0ICovCistCQlpZiAoIW9mYi0+cG9ydC0+cGxhbmVfaW5mby5lbmFibGVkKSB7CistCQkJcmV0ID0gT01BUFhWQWxsb2NQbGFuZShwU2Nybik7CistCQkJaWYgKHJldCAhPSBTdWNjZXNzKQorLQkJCQlyZXR1cm4gcmV0OworLQkJfQorLQorIAkJLyogU2V0IHVwIHRoZSBzdGF0ZSBpbmZvLCB4cmVzIGFuZCB5cmVzIHdpbGwgYmUgdXNlZCBmb3IKKyAJCSAqIHNjYWxpbmcgdG8gdGhlIHZhbHVlcyBpbiB0aGUgcGxhbmUgaW5mbyBzdHJ1Y3QKKyAJCSAqLworQEAgLTE3OSwxMiArMjAxLDMxIEBAIGludCBPTUFQRkJYVlB1dEltYWdlR2VuZXJpYyAoU2NybkluZm9QdHIgcFNjcm4sCisgCQlvZmItPnBvcnQtPnN0YXRlX2luZm8ueXJlc192aXJ0dWFsID0gMDsKKyAJCW9mYi0+cG9ydC0+c3RhdGVfaW5mby54b2Zmc2V0ID0gMDsKKyAJCW9mYi0+cG9ydC0+c3RhdGVfaW5mby55b2Zmc2V0ID0gMDsKKy0JCW9mYi0+cG9ydC0+c3RhdGVfaW5mby5yb3RhdGUgPSAwOworKwkJLy9vZmItPnBvcnQtPnN0YXRlX2luZm8ucm90YXRlID0gMDsKKyAJCW9mYi0+cG9ydC0+c3RhdGVfaW5mby5ncmF5c2NhbGUgPSAwOworIAkJb2ZiLT5wb3J0LT5zdGF0ZV9pbmZvLmFjdGl2YXRlID0gRkJfQUNUSVZBVEVfTk9XOworIAkJb2ZiLT5wb3J0LT5zdGF0ZV9pbmZvLmJpdHNfcGVyX3BpeGVsID0gMDsKKyAJCW9mYi0+cG9ydC0+c3RhdGVfaW5mby5ub25zdGQgPSB4dl90b19vbWFwZmJfZm9ybWF0KGltYWdlKTsKKyAKKysJCS8qIFBsYW5lIGluZm8gZG9lcyBub3Qgcm90YXRlIHdpdGggc3RhdGVfaW5mbyAqLworKwkJaWYgKG9mYi0+cG9ydC0+c3RhdGVfaW5mby5yb3RhdGUgPT0gMSB8fAorKwkJICBvZmItPnBvcnQtPnN0YXRlX2luZm8ucm90YXRlID09IDMpIHsKKysJCQlkcndfdGVtcCA9IGRyd194OworKwkJCWRyd194ID0gZHJ3X3k7CisrCQkJZHJ3X3kgPSBkcndfdGVtcDsKKysKKysJCQlkcndfdGVtcCA9IGRyd193OworKwkJCWRyd193ID0gZHJ3X2g7CisrCQkJZHJ3X2ggPSBkcndfdGVtcDsKKysKKysJCQlyb3RfeHJlcyA9IG9mYi0+cG9ydC0+c3RhdGVfaW5mby55cmVzOworKwkJCXJvdF95cmVzID0gb2ZiLT5wb3J0LT5zdGF0ZV9pbmZvLnhyZXM7CisrCQl9IGVsc2UgeworKwkJCXJvdF94cmVzID0gb2ZiLT5wb3J0LT5zdGF0ZV9pbmZvLnhyZXM7CisrCQkJcm90X3lyZXMgPSBvZmItPnBvcnQtPnN0YXRlX2luZm8ueXJlczsKKysJCX0KKysKKysKKyAJCS8qIFNldCB1cCB0aGUgdmlkZW8gcGxhbmUgaW5mbyAqLworIAkJb2ZiLT5wb3J0LT5wbGFuZV9pbmZvLmVuYWJsZWQgPSAxOworIAkJb2ZiLT5wb3J0LT5wbGFuZV9pbmZvLnBvc194ID0gZHJ3X3g7CitAQCAtMTkzLDEzICsyMzQsMTMgQEAgaW50IE9NQVBGQlhWUHV0SW1hZ2VHZW5lcmljIChTY3JuSW5mb1B0ciBwU2NybiwKKyAJCW9mYi0+cG9ydC0+cGxhbmVfaW5mby5vdXRfaGVpZ2h0ID0gZHJ3X2ggJiB+MTU7CisgCisgCQkvKiBDYXAgb3V0cHV0IHRvIHNjcmVlbiBzaXplICovCistCQlpZiAob2ZiLT5wb3J0LT5wbGFuZV9pbmZvLm91dF93aWR0aCA+IG9mYi0+c3RhdGVfaW5mby54cmVzKSB7CisrCQlpZiAob2ZiLT5wb3J0LT5wbGFuZV9pbmZvLm91dF93aWR0aCA+IHJvdF94cmVzKSB7CisgCQkJb2ZiLT5wb3J0LT5wbGFuZV9pbmZvLnBvc194ID0gMDsKKy0JCQlvZmItPnBvcnQtPnBsYW5lX2luZm8ub3V0X3dpZHRoID0gb2ZiLT5zdGF0ZV9pbmZvLnhyZXM7CisrCQkJb2ZiLT5wb3J0LT5wbGFuZV9pbmZvLm91dF93aWR0aCA9IHJvdF94cmVzOworIAkJfQorLQkJaWYgKG9mYi0+cG9ydC0+cGxhbmVfaW5mby5vdXRfaGVpZ2h0ID4gb2ZiLT5zdGF0ZV9pbmZvLnlyZXMpIHsKKysJCWlmIChvZmItPnBvcnQtPnBsYW5lX2luZm8ub3V0X2hlaWdodCA+IHJvdF95cmVzKSB7CisgCQkJb2ZiLT5wb3J0LT5wbGFuZV9pbmZvLnBvc195ID0gMDsKKy0JCQlvZmItPnBvcnQtPnBsYW5lX2luZm8ub3V0X2hlaWdodCA9IG9mYi0+c3RhdGVfaW5mby55cmVzOworKwkJCW9mYi0+cG9ydC0+cGxhbmVfaW5mby5vdXRfaGVpZ2h0ID0gcm90X3lyZXM7CisgCQl9CisgCisgCQlyZXQgPSBPTUFQWFZTZXR1cFZpZGVvUGxhbmUocFNjcm4pOworQEAgLTIyMyw2ICsyNjQsNyBAQCBpbnQgT01BUEZCWFZQdXRJbWFnZUdlbmVyaWMgKFNjcm5JbmZvUHRyIHBTY3JuLAorIAkJCXBhY2tlZF9saW5lX2NvcHkoc3JjX3cgJiB+MTUsCisgCQkJICAgICAgICAgICAgICAgICBzcmNfaCAmIH4xNSwKKyAJCQkgICAgICAgICAgICAgICAgICgoc3JjX3cgKyAxKSAmIH4xKSAqIDIsCisrCQkJICAgICAgICAgICAgICAgICBvZmItPnBvcnQtPmZpeGVkX2luZm8ubGluZV9sZW5ndGgsCisgCQkJICAgICAgICAgICAgICAgICAodWludDhfdCopYnVmLAorIAkJCSAgICAgICAgICAgICAgICAgKHVpbnQ4X3QqKW9mYi0+cG9ydC0+ZmIpOworIAkJCWJyZWFrOworZGlmZiAtLWdpdCBhL3NyYy9vbWFwZmIteHYuYyBiL3NyYy9vbWFwZmIteHYuYworaW5kZXggMWRmNjUxZS4uMGZlZTJjNiAxMDA2NDQKKy0tLSBhL3NyYy9vbWFwZmIteHYuYworKysrIGIvc3JjL29tYXBmYi14di5jCitAQCAtMTY5LDggKzE2OSwxMSBAQCBzdGF0aWMgaW50IE9NQVBGQlhWUXVlcnlJbWFnZUF0dHJpYnV0ZXMgKFNjcm5JbmZvUHRyIHBTY3JuLAorIAloID0gKmhlaWdodDsKKyAKKyAJdyA9ICh3ICsgMSkgJiB+MTsKKysKKysJLyogQ2FuJ3QgY2FsY3VsYXRlIHRoZXNlIGhlcmUgLSBkb24ndCBrbm93IGxpbmUgbGVuZ3RoCisgCW9mYi0+cG9ydC0+bWVtX2luZm8uc2l6ZSA9IHcgPDwgMTsKKyAJb2ZiLT5wb3J0LT5tZW1faW5mby5zaXplICo9IGg7CisrCSovCisgCisgCXJldHVybiBzaXplOworIH0KKy0tIAorMS44LjAKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tb21hcGZiLzAwMDYtb21hcGZiLXBvcnQtdG8tbmV3LXhzZXJ2ZXItdmlkZW8tQVBJLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tb21hcGZiLzAwMDYtb21hcGZiLXBvcnQtdG8tbmV3LXhzZXJ2ZXItdmlkZW8tQVBJLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1NjcyOTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1vbWFwZmIvMDAwNi1vbWFwZmItcG9ydC10by1uZXcteHNlcnZlci12aWRlby1BUEkucGF0Y2gKQEAgLTAsMCArMSwyNzIgQEAKK0Zyb20gODAzZWNmMjkwOTk0OWU2MTUyZjRhODFiNmNiYjkyYTQ0MzA2NzlhYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjMgTm92IDIwMTIgMDA6MzE6MDYgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCA2LzZdIG9tYXBmYjogcG9ydCB0byBuZXcgeHNlcnZlciB2aWRlbyBBUEkKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IE1hcnRpbiBKYW5zYSA8TWFydGluLkphbnNhQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9jb21wYXQtYXBpLmggICAgfCA5NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIHNyYy9vbWFwZmItZHJpdmVyLmMgfCA0MSArKysrKysrKysrKystLS0tLS0tLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTE4IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvY29tcGF0LWFwaS5oCisKK2RpZmYgLS1naXQgYS9zcmMvY29tcGF0LWFwaS5oIGIvc3JjL2NvbXBhdC1hcGkuaAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmIxNTkxYjEKKy0tLSAvZGV2L251bGwKKysrKyBiL3NyYy9jb21wYXQtYXBpLmgKK0BAIC0wLDAgKzEsOTYgQEAKKysvKgorKyAqIENvcHlyaWdodCAyMDEyIFJlZCBIYXQsIEluYy4KKysgKgorKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCisrICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKKysgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisrICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCisrICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCisrICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKysgKgorKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKKysgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisrICogU29mdHdhcmUuCisrICoKKysgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAorKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisrICogTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKKysgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSCisrICogREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorKyAqCisrICogQXV0aG9yOiBEYXZlIEFpcmxpZSA8YWlybGllZEByZWRoYXQuY29tPgorKyAqLworKworKy8qIHRoaXMgZmlsZSBwcm92aWRlcyBBUEkgY29tcGF0IGJldHdlZW4gc2VydmVyIHBvc3QgMS4xMyBhbmQgcHJlIGl0LAorKyAgIGl0IHNob3VsZCBiZSByZXVzZWQgaW5zaWRlIGFzIG1hbnkgZHJpdmVycyBhcyBwb3NzaWJsZSAqLworKyNpZm5kZWYgQ09NUEFUX0FQSV9ICisrI2RlZmluZSBDT01QQVRfQVBJX0gKKysKKysjaWZuZGVmIEdMWVBIX0hBU19HTFlQSF9QSUNUVVJFX0FDQ0VTU09SCisrI2RlZmluZSBHZXRHbHlwaFBpY3R1cmUoZywgcykgR2x5cGhQaWN0dXJlKChnKSlbKHMpLT5teU51bV0KKysjZGVmaW5lIFNldEdseXBoUGljdHVyZShnLCBzLCBwKSBHbHlwaFBpY3R1cmUoKGcpKVsocyktPm15TnVtXSA9IHAKKysjZW5kaWYKKysKKysjaWZuZGVmIFhGODZfSEFTX1NDUk5fQ09OVgorKyNkZWZpbmUgeGY4NlNjcmVlblRvU2NybihzKSB4Zjg2U2NyZWVuc1socyktPm15TnVtXQorKyNkZWZpbmUgeGY4NlNjcm5Ub1NjcmVlbihzKSBzY3JlZW5JbmZvLnNjcmVlbnNbKHMpLT5zY3JuSW5kZXhdCisrI2VuZGlmCisrCisrI2lmbmRlZiBYRjg2X1NDUk5fSU5URVJGQUNFCisrCisrI2RlZmluZSBTQ1JOX0FSR19UWVBFIGludAorKyNkZWZpbmUgU0NSTl9JTkZPX1BUUihhcmcxKSBTY3JuSW5mb1B0ciBwU2NybiA9IHhmODZTY3JlZW5zWyhhcmcxKV0KKysKKysjZGVmaW5lIFNDUkVFTl9BUkdfVFlQRSBpbnQKKysjZGVmaW5lIFNDUkVFTl9QVFIoYXJnMSkgU2NyZWVuUHRyIHBTY3JlZW4gPSBzY3JlZW5JbmZvLnNjcmVlbnNbKGFyZzEpXQorKworKyNkZWZpbmUgU0NSRUVOX0lOSVRfQVJHU19ERUNMIGludCBpbmRleCwgU2NyZWVuUHRyIHBTY3JlZW4sIGludCBhcmdjLCBjaGFyICoqYXJndgorKworKyNkZWZpbmUgQkxPQ0tIQU5ETEVSX0FSR1NfREVDTCBpbnQgYXJnLCBwb2ludGVyIGJsb2NrRGF0YSwgcG9pbnRlciBwVGltZW91dCwgcG9pbnRlciBwUmVhZG1hc2sKKysjZGVmaW5lIEJMT0NLSEFORExFUl9BUkdTIGFyZywgYmxvY2tEYXRhLCBwVGltZW91dCwgcFJlYWRtYXNrCisrCisrI2RlZmluZSBDTE9TRV9TQ1JFRU5fQVJHU19ERUNMIGludCBzY3JuSW5kZXgsIFNjcmVlblB0ciBwU2NyZWVuCisrI2RlZmluZSBDTE9TRV9TQ1JFRU5fQVJHUyBzY3JuSW5kZXgsIHBTY3JlZW4KKysKKysjZGVmaW5lIEFESlVTVF9GUkFNRV9BUkdTX0RFQ0wgaW50IGFyZywgaW50IHgsIGludCB5LCBpbnQgZmxhZ3MKKysKKysjZGVmaW5lIFNXSVRDSF9NT0RFX0FSR1NfREVDTCBpbnQgYXJnLCBEaXNwbGF5TW9kZVB0ciBtb2RlLCBpbnQgZmxhZ3MKKysKKysjZGVmaW5lIEZSRUVfU0NSRUVOX0FSR1NfREVDTCBpbnQgYXJnLCBpbnQgZmxhZ3MKKysjZGVmaW5lIEZSRUVfU0NSRUVOX0FSR1MoeCkgKHgpLT5zY3JuSW5kZXgsIDAKKysKKysjZGVmaW5lIFZUX0ZVTkNfQVJHU19ERUNMIGludCBhcmcsIGludCBmbGFncworKyNkZWZpbmUgVlRfRlVOQ19BUkdTKGZsYWdzKSBwU2Nybi0+c2NybkluZGV4LCAoZmxhZ3MpCisrCisrI2RlZmluZSBYRjg2X0VOQUJMRURJU0FCTEVGQl9BUkcoeCkgKCh4KS0+c2NybkluZGV4KQorKyNlbHNlCisrI2RlZmluZSBTQ1JOX0FSR19UWVBFIFNjcm5JbmZvUHRyCisrI2RlZmluZSBTQ1JOX0lORk9fUFRSKGFyZzEpIFNjcm5JbmZvUHRyIHBTY3JuID0gKGFyZzEpCisrCisrI2RlZmluZSBTQ1JFRU5fQVJHX1RZUEUgU2NyZWVuUHRyCisrI2RlZmluZSBTQ1JFRU5fUFRSKGFyZzEpIFNjcmVlblB0ciBwU2NyZWVuID0gKGFyZzEpCisrCisrI2RlZmluZSBTQ1JFRU5fSU5JVF9BUkdTX0RFQ0wgU2NyZWVuUHRyIHBTY3JlZW4sIGludCBhcmdjLCBjaGFyICoqYXJndgorKworKyNkZWZpbmUgQkxPQ0tIQU5ETEVSX0FSR1NfREVDTCBTY3JlZW5QdHIgYXJnLCBwb2ludGVyIHBUaW1lb3V0LCBwb2ludGVyIHBSZWFkbWFzaworKyNkZWZpbmUgQkxPQ0tIQU5ETEVSX0FSR1MgYXJnLCBwVGltZW91dCwgcFJlYWRtYXNrCisrCisrI2RlZmluZSBDTE9TRV9TQ1JFRU5fQVJHU19ERUNMIFNjcmVlblB0ciBwU2NyZWVuCisrI2RlZmluZSBDTE9TRV9TQ1JFRU5fQVJHUyBwU2NyZWVuCisrCisrI2RlZmluZSBBREpVU1RfRlJBTUVfQVJHU19ERUNMIFNjcm5JbmZvUHRyIGFyZywgaW50IHgsIGludCB5CisrI2RlZmluZSBTV0lUQ0hfTU9ERV9BUkdTX0RFQ0wgU2NybkluZm9QdHIgYXJnLCBEaXNwbGF5TW9kZVB0ciBtb2RlCisrCisrI2RlZmluZSBGUkVFX1NDUkVFTl9BUkdTX0RFQ0wgU2NybkluZm9QdHIgYXJnCisrI2RlZmluZSBGUkVFX1NDUkVFTl9BUkdTKHgpICh4KQorKworKyNkZWZpbmUgVlRfRlVOQ19BUkdTX0RFQ0wgU2NybkluZm9QdHIgYXJnCisrI2RlZmluZSBWVF9GVU5DX0FSR1MoZmxhZ3MpIHBTY3JuCisrCisrI2RlZmluZSBYRjg2X0VOQUJMRURJU0FCTEVGQl9BUkcoeCkgKHgpCisrCisrI2VuZGlmCisrCisrI2VuZGlmCitkaWZmIC0tZ2l0IGEvc3JjL29tYXBmYi1kcml2ZXIuYyBiL3NyYy9vbWFwZmItZHJpdmVyLmMKK2luZGV4IDA3OTg5ZjUuLjQ4NmZmYTQgMTAwNjQ0CistLS0gYS9zcmMvb21hcGZiLWRyaXZlci5jCisrKysgYi9zcmMvb21hcGZiLWRyaXZlci5jCitAQCAtNDQsNiArNDQsOCBAQAorIAorICNpbmNsdWRlICJleGEuaCIKKyAKKysjaW5jbHVkZSAiY29tcGF0LWFwaS5oIgorKworICNpZmRlZiBIQVZFX1hFWFRQUk9UT183MQorICNpbmNsdWRlIDxYMTEvZXh0ZW5zaW9ucy9kcG1zY29uc3QuaD4KKyAjZWxzZQorQEAgLTcwLDEwICs3MiwxMCBAQAorIAorIHN0YXRpYyBCb29sIE9NQVBGQlByb2JlKERyaXZlclB0ciBkcnYsIGludCBmbGFncyk7Cisgc3RhdGljIEJvb2wgT01BUEZCUHJlSW5pdChTY3JuSW5mb1B0ciBwU2NybiwgaW50IGZsYWdzKTsKKy1zdGF0aWMgQm9vbCBPTUFQRkJTY3JlZW5Jbml0KGludCBzY3JuSW5kZXgsIFNjcmVlblB0ciBwU2NyZWVuLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpOworLXN0YXRpYyBCb29sIE9NQVBGQkVudGVyVlQoaW50IHNjcm5JbmRleCwgaW50IGZsYWdzKTsKKy1zdGF0aWMgdm9pZCBPTUFQRkJMZWF2ZVZUKGludCBzY3JuSW5kZXgsIGludCBmbGFncyk7Cistc3RhdGljIEJvb2wgT01BUEZCU3dpdGNoTW9kZShpbnQgc2NybkluZGV4LCBEaXNwbGF5TW9kZVB0ciBtb2RlLCBpbnQgZmxhZ3MpOworK3N0YXRpYyBCb29sIE9NQVBGQlNjcmVlbkluaXQoU0NSRUVOX0lOSVRfQVJHU19ERUNMKTsKKytzdGF0aWMgQm9vbCBPTUFQRkJFbnRlclZUKFZUX0ZVTkNfQVJHU19ERUNMKTsKKytzdGF0aWMgdm9pZCBPTUFQRkJMZWF2ZVZUKFZUX0ZVTkNfQVJHU19ERUNMKTsKKytzdGF0aWMgQm9vbCBPTUFQRkJTd2l0Y2hNb2RlKFNXSVRDSF9NT0RFX0FSR1NfREVDTCk7CisgCisgc3RhdGljIEJvb2wKKyBPTUFQRkJFbnN1cmVSZWMoU2NybkluZm9QdHIgcFNjcm4pCitAQCAtNDgxLDcgKzQ4Myw3IEBAIE9NQVBGQlh2U2NyZWVuSW5pdChTY3JlZW5QdHIgcFNjcmVlbikKKyB9CisgCisgc3RhdGljIEJvb2wKKy1PTUFQRkJDbG9zZVNjcmVlbihpbnQgc2NybkluZGV4LCBTY3JlZW5QdHIgcFNjcmVlbikKKytPTUFQRkJDbG9zZVNjcmVlbihDTE9TRV9TQ1JFRU5fQVJHU19ERUNMKQorIHsKKyAJU2NybkluZm9QdHIgcFNjcm4gPSB4Zjg2U2NyZWVuc1twU2NyZWVuLT5teU51bV07CisgCU9NQVBGQlB0ciBvZmIgPSBPTUFQRkIocFNjcm4pOworQEAgLTQ5MCwxMSArNDkyLDExIEBAIE9NQVBGQkNsb3NlU2NyZWVuKGludCBzY3JuSW5kZXgsIFNjcmVlblB0ciBwU2NyZWVuKQorIAorIAlwU2NyZWVuLT5DbG9zZVNjcmVlbiA9IG9mYi0+Q2xvc2VTY3JlZW47CisgCQorLQlyZXR1cm4gKCpwU2NyZWVuLT5DbG9zZVNjcmVlbikoc2NybkluZGV4LCBwU2NyZWVuKTsKKysJcmV0dXJuICgqcFNjcmVlbi0+Q2xvc2VTY3JlZW4pKENMT1NFX1NDUkVFTl9BUkdTKTsKKyB9CisgCisgc3RhdGljIEJvb2wKKy1PTUFQRkJTY3JlZW5Jbml0KGludCBzY3JuSW5kZXgsIFNjcmVlblB0ciBwU2NyZWVuLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisrT01BUEZCU2NyZWVuSW5pdChTQ1JFRU5fSU5JVF9BUkdTX0RFQ0wpCisgeworIAlTY3JuSW5mb1B0ciBwU2NybiA9IHhmODZTY3JlZW5zW3BTY3JlZW4tPm15TnVtXTsKKyAJT01BUEZCUHRyIG9mYiA9IE9NQVBGQihwU2Nybik7CitAQCAtNTE2LDcgKzUxOCw3IEBAIE9NQVBGQlNjcmVlbkluaXQoaW50IHNjcm5JbmRleCwgU2NyZWVuUHRyIHBTY3JlZW4sIGludCBhcmdjLCBjaGFyICoqYXJndikKKyAJICAgICAgICAgICAgICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsIE1BUF9TSEFSRUQsCisgCSAgICAgICAgICAgICAgICBvZmItPmZkLCAwKTsKKyAJaWYgKG9mYi0+ZmIgPT0gTUFQX0ZBSUxFRCkgeworLQkJeGY4NkRydk1zZyhzY3JuSW5kZXgsIFhfRVJST1IsICJNYXBwaW5nIGZyYW1lYnVmZmVyIG1lbW9yeSBmYWlsZWQsIHdhbnRlZCAlZCBieXRlcy5cbiIsIG9mYi0+bWVtX2luZm8uc2l6ZSk7CisrCQl4Zjg2RHJ2TXNnKHBTY3JuLT5zY3JuSW5kZXgsIFhfRVJST1IsICJNYXBwaW5nIGZyYW1lYnVmZmVyIG1lbW9yeSBmYWlsZWQsIHdhbnRlZCAlZCBieXRlcy5cbiIsIG9mYi0+bWVtX2luZm8uc2l6ZSk7CisgCQlyZXR1cm4gRkFMU0U7CisgCX0KKyAKK0BAIC01MjYsNyArNTI4LDcgQEAgT01BUEZCU2NyZWVuSW5pdChpbnQgc2NybkluZGV4LCBTY3JlZW5QdHIgcFNjcmVlbiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAkvKiBPbmx5IHN1cHBvcnQgVHJ1ZUNvbG9yIGZvciBub3cgKi8KKyAJaWYgKCFtaVNldFZpc3VhbFR5cGVzKHBTY3JuLT5kZXB0aCwgVHJ1ZUNvbG9yTWFzaywKKyAJCXBTY3JuLT5yZ2JCaXRzLCBwU2Nybi0+ZGVmYXVsdFZpc3VhbCkpIHsKKy0JCXhmODZEcnZNc2coc2NybkluZGV4LCBYX0VSUk9SLCAidmlzdWFsIHR5cGUgc2V0dXAgZmFpbGVkIgorKwkJeGY4NkRydk1zZyhwU2Nybi0+c2NybkluZGV4LCBYX0VSUk9SLCAidmlzdWFsIHR5cGUgc2V0dXAgZmFpbGVkIgorIAkJICAgICAgICAgICAiIGZvciAlZCBiaXRzIHBlciBwaXhlbCBbMV1cbiIsCisgCQkgICAgICAgICAgIHBTY3JuLT5iaXRzUGVyUGl4ZWwpOworIAkJcmV0dXJuIEZBTFNFOworQEAgLTUzNCw3ICs1MzYsNyBAQCBPTUFQRkJTY3JlZW5Jbml0KGludCBzY3JuSW5kZXgsIFNjcmVlblB0ciBwU2NyZWVuLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCisgCS8qIFNldCB1cCBwaXhtYXAgZGVwdGggaW5mb3JtYXRpb24gKi8KKyAJaWYgKCFtaVNldFBpeG1hcERlcHRocygpKSB7CistCQl4Zjg2RHJ2TXNnKHNjcm5JbmRleCxYX0VSUk9SLCJwaXhtYXAgZGVwdGggc2V0dXAgZmFpbGVkXG4iKTsKKysJCXhmODZEcnZNc2cocFNjcm4tPnNjcm5JbmRleCxYX0VSUk9SLCJwaXhtYXAgZGVwdGggc2V0dXAgZmFpbGVkXG4iKTsKKyAJCXJldHVybiBGQUxTRTsKKyAJfQorIAorQEAgLTU0Niw3ICs1NDgsNyBAQCBPTUFQRkJTY3JlZW5Jbml0KGludCBzY3JuSW5kZXgsIFNjcmVlblB0ciBwU2NyZWVuLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCSAgICAgICAgICAgICAgICAgIHBTY3JuLT52aXJ0dWFsWSwgcFNjcm4tPnhEcGksCisgCSAgICAgICAgICAgICAgICAgIHBTY3JuLT55RHBpLCBwU2Nybi0+ZGlzcGxheVdpZHRoLAorIAkgICAgICAgICAgICAgICAgICBwU2Nybi0+Yml0c1BlclBpeGVsKSkgeworLQkJeGY4NkRydk1zZyhzY3JuSW5kZXgsIFhfRVJST1IsICJmYlNjcmVlbkluaXQgZmFpbGVkXG4iKTsKKysJCXhmODZEcnZNc2cocFNjcm4tPnNjcm5JbmRleCwgWF9FUlJPUiwgImZiU2NyZWVuSW5pdCBmYWlsZWRcbiIpOworIAkJcmV0dXJuIEZBTFNFOworIAl9CisgCitAQCAtNTY3LDcgKzU2OSw3IEBAIE9NQVBGQlNjcmVlbkluaXQoaW50IHNjcm5JbmRleCwgU2NyZWVuUHRyIHBTY3JlZW4sIGludCBhcmdjLCBjaGFyICoqYXJndikKKyAKKyAJLyogSW5pdGlhbGl6ZSBYUmVuZGVyIGZhbGxiYWNrcyAqLworIAlpZiAoIWZiUGljdHVyZUluaXQocFNjcmVlbiwgTlVMTCwgMCkpIHsKKy0JCXhmODZEcnZNc2coc2NybkluZGV4LCBYX0VSUk9SLCAiZmJQaWN0dXJlSW5pdCBmYWlsZWRcbiIpOworKwkJeGY4NkRydk1zZyhwU2Nybi0+c2NybkluZGV4LCBYX0VSUk9SLCAiZmJQaWN0dXJlSW5pdCBmYWlsZWRcbiIpOworIAkJcmV0dXJuIEZBTFNFOworIAl9CisgCQorQEAgLTU3OSw3ICs1ODEsNyBAQCBPTUFQRkJTY3JlZW5Jbml0KGludCBzY3JuSW5kZXgsIFNjcmVlblB0ciBwU2NyZWVuLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCisgCS8qIEluaXRpYWxpemUgZGVmYXVsdCBjb2xvcm1hcCAqLworIAlpZiAoIW1pQ3JlYXRlRGVmQ29sb3JtYXAocFNjcmVlbikpIHsKKy0JCXhmODZEcnZNc2coc2NybkluZGV4LCBYX0VSUk9SLAorKwkJeGY4NkRydk1zZyhwU2Nybi0+c2NybkluZGV4LCBYX0VSUk9SLAorIAkJICAgICAgICAgICAiY3JlYXRpbmcgZGVmYXVsdCBjb2xvcm1hcCBmYWlsZWRcbiIpOworIAkJcmV0dXJuIEZBTFNFOworIAl9CitAQCAtNTg5LDcgKzU5MSw3IEBAIE9NQVBGQlNjcmVlbkluaXQoaW50IHNjcm5JbmRleCwgU2NyZWVuUHRyIHBTY3JlZW4sIGludCBhcmdjLCBjaGFyICoqYXJndikKKyAJCS8qIFRoaXMgaXMgbm9uLWZhdGFsIHNpbmNlIHdlIG1pZ2h0IGJlIHJ1bm5pbmcgYWdhaW5zdCBvbGRlcgorIAkJICoga2VybmVsIGRyaXZlciBpbiB3aGljaCBjYXNlIHdlIG9ubHkgZG8gYmFzaWMgMkQgc3R1ZmYuLi4KKyAJCSAqLworLQkJeGY4NkRydk1zZyhzY3JuSW5kZXgsIFhfRVJST1IsICJSZWFkaW5nIHBsYW5lIGluZm8gZmFpbGVkXG4iKTsKKysJCXhmODZEcnZNc2cocFNjcm4tPnNjcm5JbmRleCwgWF9FUlJPUiwgIlJlYWRpbmcgcGxhbmUgaW5mbyBmYWlsZWRcbiIpOworIAl9IGVsc2UgaWYgKCFvZmItPmRzcykgeworIAorIAkJb2ZiLT5wbGFuZV9pbmZvLmVuYWJsZWQgPSAxOworQEAgLTYwMiw3ICs2MDQsNyBAQCBPTUFQRkJTY3JlZW5Jbml0KGludCBzY3JuSW5kZXgsIFNjcmVlblB0ciBwU2NyZWVuLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCQl9CisgCisgCQlpZiAoaW9jdGwgKG9mYi0+ZmQsIE9NQVBGQl9TRVRVUF9QTEFORSwgJm9mYi0+cGxhbmVfaW5mbykpIHsKKy0JCQl4Zjg2RHJ2TXNnKHNjcm5JbmRleCwgWF9FUlJPUiwKKysJCQl4Zjg2RHJ2TXNnKHBTY3JuLT5zY3JuSW5kZXgsIFhfRVJST1IsCisgCQkJICAgICAgICAgICAgIiVzOiBQbGFuZSBzZXR1cCBmYWlsZWQ6ICVzXG4iLAorIAkJCSAgICAgICAgICAgIF9fRlVOQ1RJT05fXywgc3RyZXJyb3IoZXJybm8pKTsKKyAJCQlyZXR1cm4gRkFMU0U7CitAQCAtNjQ1LDkgKzY0NywxMCBAQCBPTUFQRkJTY3JlZW5Jbml0KGludCBzY3JuSW5kZXgsIFNjcmVlblB0ciBwU2NyZWVuLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCXJldHVybiBUUlVFOworIH0KKyAKKy1zdGF0aWMgQm9vbCBPTUFQRkJTd2l0Y2hNb2RlKGludCBzY3JuSW5kZXgsIERpc3BsYXlNb2RlUHRyIG1vZGUsIGludCBmbGFncykKKytzdGF0aWMgQm9vbCBPTUFQRkJTd2l0Y2hNb2RlKFNXSVRDSF9NT0RFX0FSR1NfREVDTCkKKyB7CistCXJldHVybiB4Zjg2U2V0U2luZ2xlTW9kZSAoeGY4NlNjcmVlbnNbc2NybkluZGV4XSwgbW9kZSwgUlJfUm90YXRlXzApOworKwlTQ1JOX0lORk9fUFRSKGFyZyk7CisrCXJldHVybiB4Zjg2U2V0U2luZ2xlTW9kZSAocFNjcm4sIG1vZGUsIFJSX1JvdGF0ZV8wKTsKKyB9CisgCisgdm9pZAorQEAgLTY5OSwxNCArNzAyLDE0IEBAIE9NQVBGQlByaW50Q2FwYWJpbGl0aWVzKFNjcm5JbmZvUHRyIHBTY3JuLAorIC8qKiogVW5pbXBsZW1lbnRlZDogKi8KKyAKKyBzdGF0aWMgQm9vbAorLU9NQVBGQkVudGVyVlQoaW50IHNjcm5JbmRleCwgaW50IGZsYWdzKQorK09NQVBGQkVudGVyVlQoVlRfRlVOQ19BUkdTX0RFQ0wpCisgeworIAl4Zjg2TXNnKFhfTk9UX0lNUExFTUVOVEVELCAiJXNcbiIsIF9fRlVOQ1RJT05fXyk7CisgCXJldHVybiBUUlVFOworIH0KKyAKKyBzdGF0aWMgdm9pZAorLU9NQVBGQkxlYXZlVlQoaW50IHNjcm5JbmRleCwgaW50IGZsYWdzKQorK09NQVBGQkxlYXZlVlQoVlRfRlVOQ19BUkdTX0RFQ0wpCisgeworIAl4Zjg2TXNnKFhfTk9UX0lNUExFTUVOVEVELCAiJXNcbiIsIF9fRlVOQ1RJT05fXyk7CisgfQorLS0gCisxLjguMAorCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveGY4Ni12aWRlby1vbWFwZmIvMDAwNy1hbHdheXNfaW5jbHVkZV94b3JnX3NlcnZlci5oLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tb21hcGZiLzAwMDctYWx3YXlzX2luY2x1ZGVfeG9yZ19zZXJ2ZXIuaC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzBiOWIzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tb21hcGZiLzAwMDctYWx3YXlzX2luY2x1ZGVfeG9yZ19zZXJ2ZXIuaC5wYXRjaApAQCAtMCwwICsxLDQ4IEBACitGaXggZXJyb3JzIHdpdGggZ2xpYmMgMi4yMAorCitJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvdWJ1bnR1L3dvcmsvdXBzdHJlYW0vb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLWdsaWJjL3N5c3Jvb3RzL3FlbXV4ODYvdXNyL2luY2x1ZGUvc3RyaW5nLmg6NjM0OjAsCisgICAgICAgICAgICAgICAgIGZyb20gL2hvbWUvdWJ1bnR1L3dvcmsvdXBzdHJlYW0vb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLWdsaWJjL3N5c3Jvb3RzL3FlbXV4ODYvdXNyL2luY2x1ZGUveG9yZy9vcy5oOjUzLAorICAgICAgICAgICAgICAgICBmcm9tIC9ob21lL3VidW50dS93b3JrL3Vwc3RyZWFtL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1nbGliYy9zeXNyb290cy9xZW11eDg2L3Vzci9pbmNsdWRlL3hvcmcvbWlzYy5oOjExNSwKKyAgICAgICAgICAgICAgICAgZnJvbSAvaG9tZS91YnVudHUvd29yay91cHN0cmVhbS9vcGVuZW1iZWRkZWQtY29yZS9idWlsZC90bXAtZ2xpYmMvc3lzcm9vdHMvcWVtdXg4Ni91c3IvaW5jbHVkZS94b3JnL3hmODZzdHIuaDozNywKKyAgICAgICAgICAgICAgICAgZnJvbSAvaG9tZS91YnVudHUvd29yay91cHN0cmVhbS9vcGVuZW1iZWRkZWQtY29yZS9idWlsZC90bXAtZ2xpYmMvc3lzcm9vdHMvcWVtdXg4Ni91c3IvaW5jbHVkZS94b3JnL3hmODYuaDo0NCwKKyAgICAgICAgICAgICAgICAgZnJvbSAvaG9tZS91YnVudHUvd29yay91cHN0cmVhbS9vcGVuZW1iZWRkZWQtY29yZS9idWlsZC90bXAtZ2xpYmMvd29yay9pNTg2LW9lLWxpbnV4L3hmODYtdmlkZW8tb21hcGZiLzJfMC4xLjErZ2l0ckFVVE9JTkMrMjhjMDA2Yzk0ZS1yMjEuNy9naXQvc3JjL29tYXBmYi14di1ibGl6emFyZC5jOjMzOgorL2hvbWUvdWJ1bnR1L3dvcmsvdXBzdHJlYW0vb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLWdsaWJjL3N5c3Jvb3RzL3FlbXV4ODYvdXNyL2luY2x1ZGUveG9yZy9vcy5oOjU3OToxOiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciAnKCcgYmVmb3JlICdfX2V4dGVuc2lvbl9fJworIHN0cm5kdXAoY29uc3QgY2hhciAqc3RyLCBzaXplX3Qgbik7CisgXgorSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3VidW50dS93b3JrL3Vwc3RyZWFtL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1nbGliYy9zeXNyb290cy9xZW11eDg2L3Vzci9pbmNsdWRlL3N0cmluZy5oOjYzNDowLAorICAgICAgICAgICAgICAgICBmcm9tIC9ob21lL3VidW50dS93b3JrL3Vwc3RyZWFtL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1nbGliYy9zeXNyb290cy9xZW11eDg2L3Vzci9pbmNsdWRlL3hvcmcvb3MuaDo1MywKKyAgICAgICAgICAgICAgICAgZnJvbSAvaG9tZS91YnVudHUvd29yay91cHN0cmVhbS9vcGVuZW1iZWRkZWQtY29yZS9idWlsZC90bXAtZ2xpYmMvc3lzcm9vdHMvcWVtdXg4Ni91c3IvaW5jbHVkZS94b3JnL21pc2MuaDoxMTUsCisgICAgICAgICAgICAgICAgIGZyb20gL2hvbWUvdWJ1bnR1L3dvcmsvdXBzdHJlYW0vb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLWdsaWJjL3N5c3Jvb3RzL3FlbXV4ODYvdXNyL2luY2x1ZGUveG9yZy94Zjg2c3RyLmg6MzcsCisgICAgICAgICAgICAgICAgIGZyb20gL2hvbWUvdWJ1bnR1L3dvcmsvdXBzdHJlYW0vb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLWdsaWJjL3N5c3Jvb3RzL3FlbXV4ODYvdXNyL2luY2x1ZGUveG9yZy94Zjg2Lmg6NDQsCisgICAgICAgICAgICAgICAgIGZyb20gL2hvbWUvdWJ1bnR1L3dvcmsvdXBzdHJlYW0vb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLWdsaWJjL3dvcmsvaTU4Ni1vZS1saW51eC94Zjg2LXZpZGVvLW9tYXBmYi8yXzAuMS4xK2dpdHJBVVRPSU5DKzI4YzAwNmM5NGUtcjIxLjcvZ2l0L3NyYy9vbWFwZmIteHYtZ2VuZXJpYy5jOjI4OgorL2hvbWUvdWJ1bnR1L3dvcmsvdXBzdHJlYW0vb3BlbmVtYmVkZGVkLWNvcmUvYnVpbGQvdG1wLWdsaWJjL3N5c3Jvb3RzL3FlbXV4ODYvdXNyL2luY2x1ZGUveG9yZy9vcy5oOjU3OToxOiBlcnJvcjogZXhwZWN0ZWQgaWRlbnRpZmllciBvciAnKCcgYmVmb3JlICdfX2V4dGVuc2lvbl9fJworIHN0cm5kdXAoY29uc3QgY2hhciAqc3RyLCBzaXplX3Qgbik7CisgXgorCitTaW5nZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK0luZGV4OiBnaXQvc3JjL29tYXBmYi14di1ibGl6emFyZC5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvc3JjL29tYXBmYi14di1ibGl6emFyZC5jCTIwMTQtMDgtMjggMDU6MTY6MjUuNjg0MDcwNTg3IC0wNzAwCisrKysgZ2l0L3NyYy9vbWFwZmIteHYtYmxpenphcmQuYwkyMDE0LTA4LTI4IDE5OjA1OjM5LjQ0MDA3MDU4NyAtMDcwMAorQEAgLTMwLDYgKzMwLDcgQEAKKyAgKiAgLQorICAqLworIAorKyNpbmNsdWRlIDx4b3JnLXNlcnZlci5oPgorICNpbmNsdWRlICJ4Zjg2LmgiCisgI2luY2x1ZGUgInhmODZfT1NsaWIuaCIKKyAjaW5jbHVkZSAieGY4Nnh2LmgiCitJbmRleDogZ2l0L3NyYy9vbWFwZmIteHYtZ2VuZXJpYy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2l0Lm9yaWcvc3JjL29tYXBmYi14di1nZW5lcmljLmMJMjAxNC0wOC0yOCAwNToxNjoyNS42ODQwNzA1ODcgLTA3MDAKKysrKyBnaXQvc3JjL29tYXBmYi14di1nZW5lcmljLmMJMjAxNC0wOC0yOCAxOTowNTo1MS43ODAwNzA1ODcgLTA3MDAKK0BAIC0yNSw2ICsyNSw3IEBACisgICogR2VuZXJpYyBmdW5jdGlvbnMgZm9yIHRoZSBYViBkcml2ZXIKKyAgKi8KKyAKKysjaW5jbHVkZSA8eG9yZy1zZXJ2ZXIuaD4KKyAjaW5jbHVkZSAieGY4Ni5oIgorICNpbmNsdWRlICJ4Zjg2X09TbGliLmgiCisgI2luY2x1ZGUgInhmODZ4di5oIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tb21hcGZiX2dpdC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLW9tYXBmYl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGVlYjg3MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLW9tYXBmYl9naXQuYmIKQEAgLTAsMCArMSwzNSBAQAorcmVxdWlyZSB4b3JnLWRyaXZlci12aWRlby5pbmMKKworU1VNTUFSWSA9ICJYLk9yZyBYIHNlcnZlciAtLSBUZXhhcyBJbnN0cnVtZW50cyBPTUFQIGZyYW1lYnVmZmVyIGRyaXZlciIKKworREVTQ1JJUFRJT04gPSAib21hcGZiIGRyaXZlciBzdXBwb3J0cyB0aGUgYmFzaWMgVGV4YXMgSW5zdHJ1bWVudHMgT01BUCBcCitmcmFtZWJ1ZmZlci4iCisKK0xJQ0VOU0UgPSAiTUlULVggJiBHUEx2MisiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02M2UyY2JhYzUzODYzZjYwZTJmNDMzNDNmYjM0MzY3ZiIKK0RFUEVORFMgKz0gInZpcnR1YWwvbGlieDExIgorCitTUkNSRVYgPSAiMzNlMzZjMTJkZGUzMzZlZGJkZDM0NjI2ZGQ4YWRmY2FlYmM4ZmJiOCIKK1BSID0gIiR7SU5DX1BSfS43IgorUFYgPSAiMC4xLjErZ2l0ciR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2Fub25zY20uZGViaWFuLm9yZy9jb2xsYWItbWFpbnQveGY4Ni12aWRlby1vbWFwZmIuZ2l0IFwKKyAgZmlsZTovLzAwMDEtUHJldmVudHMtb21hcGZiLWZyb20tZnJvbS1jcmFzaGluZy13aGVuLXBpeGVsY2xvY2stby5wYXRjaCBcCisgIGZpbGU6Ly8wMDAxLVJldmVydC1TZXQtYS1sYXJnZS1DUlRDLXVwcGVyLWxpbWl0LXRvLW5vdC1wcnVuZS1sYXIucGF0Y2ggXAorICBmaWxlOi8vMDAwMi1SZXZlcnQtU2V0LXZpcnR1YWwtc2l6ZS13aGVuLWNvbmZpZ3VyaW5nLWZyYW1lYnVmZmVyLnBhdGNoIFwKKyAgZmlsZTovLzAwMDMtZm9yY2UtcGxhaW4tbW9kZS5wYXRjaCBcCisgIGZpbGU6Ly8wMDA0LWJsYWNrbGlzdC10di1vdXQucGF0Y2ggXAorICBmaWxlOi8vMDAwNS1BdHRlbXB0LXRvLWZpeC1WUkZCLnBhdGNoIFwKKyAgZmlsZTovLzAwMDYtb21hcGZiLXBvcnQtdG8tbmV3LXhzZXJ2ZXItdmlkZW8tQVBJLnBhdGNoIFwKKyAgZmlsZTovLzAwMDctYWx3YXlzX2luY2x1ZGVfeG9yZ19zZXJ2ZXIuaC5wYXRjaCBcCisiCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0VYVFJBX09FQ09ORl9hcm12N2EgPSAiIC0tZW5hYmxlLW5lb24gIgorQ0ZMQUdTICs9ICIgLUkke1NUQUdJTkdfSU5DRElSfS94b3JnICIKKworIyBVc2Ugb3ZlcmxheSAyIG9uIG9tYXAzIHRvIGVuYWJsZSBvdGhlciBhcHBzIHRvIHVzZSBvdmVybGF5IDEgKGUuZy4gZG1haSBvciBvbWFwZmJwbGF5KQorZG9fY29tcGlsZV9wcmVwZW5kX2FybXY3YSAoKSB7CisgICAgICAgIHNlZCAtaSAtZSBzOmZiMTpmYjI6ZyAke1N9L3NyYy9vbWFwZmIteHYuYworfQpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tdmVzYV8yLjMuNC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLXZlc2FfMi4zLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmEyNTFiNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLXZlc2FfMi4zLjQuYmIKQEAgLTAsMCArMSwyMSBAQAorcmVxdWlyZSB4b3JnLWRyaXZlci12aWRlby5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTFmMDYxMGViZGM2ZjMxNGE5ZmE1MTAyYThjNWMxYjAiCisKK1NVTU1BUlkgPSAiWC5PcmcgWCBzZXJ2ZXIgLS0gR2VuZXJpYyBWZXNhIHZpZGVvIGRyaXZlciIKKworREVTQ1JJUFRJT04gPSAidmVzYSBpcyBhbiBYb3JnIGRyaXZlciBmb3IgZ2VuZXJpYyBWRVNBIHZpZGVvIGNhcmRzLiBJdCBcCitjYW4gZHJpdmUgbW9zdCBWRVNBLWNvbXBhdGlibGUgdmlkZW8gY2FyZHMsIGJ1dCBvbmx5IG1ha2VzIHVzZSBvZiB0aGUgXAorYmFzaWMgc3RhbmRhcmQgVkVTQSBjb3JlIHRoYXQgaXMgY29tbW9uIHRvIHRoZXNlIGNhcmRzLiBUaGUgZHJpdmVyIFwKK3N1cHBvcnRzIGRlcHRocyA4LCAxNSAxNiBhbmQgMjQuIgorCitQUiA9ICIke0lOQ19QUn0uMCIKKworREVQRU5EUyArPSAidmlydHVhbC9saWJ4MTEgcmFuZHJwcm90byBsaWJwY2lhY2Nlc3MiCisKK0NPTVBBVElCTEVfSE9TVCA9ICcoaS44Nnx4ODZfNjQpLiotbGludXgnCisKK1JSRUNPTU1FTkRTXyR7UE59ICs9ICJ4c2VydmVyLXhvcmctbW9kdWxlLWxpYmludDEwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYTg5M2MzN2M1ODlmN2EzMWNlYTkyOWE1ZDg5NmEwZTIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2JkZGY0ZDg3OWRkNmY2NzA4OGVjYjIwM2EzMWUxMjMzNGFhYjk4MDE3NGJkMDkwOTkzMGEyMWYzMmUyNTFjMSIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLXZtd2FyZS8wMDAyLWFkZC1vcHRpb24tZm9yLXZtd2dmeC5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLXZtd2FyZS8wMDAyLWFkZC1vcHRpb24tZm9yLXZtd2dmeC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MDM5ZDA4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tdm13YXJlLzAwMDItYWRkLW9wdGlvbi1mb3Itdm13Z2Z4LnBhdGNoCkBAIC0wLDAgKzEsOTggQEAKK1Vwc3RyZWFtLVN0YXR1czpTdWJtaXR0ZWQKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK0Zyb20gZjEwM2Q2ZjU3MDY3MWM2NDljY2Q3YjIyNWU2ZDZjOWYxNDM3MTg4OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CitEYXRlOiBXZWQsIDI1IEp1biAyMDE0IDE2OjE2OjQ0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSBhZGQgb3B0aW9uIGZvciB2bXdnZngKKworLS0tCisgY29uZmlndXJlLmFjIHwgICA0OSArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCBiZTQwZWQ3Li44ZTE1MzA3IDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC02NCw2ICs2NCwxMyBAQCBBQ19BUkdfRU5BQkxFKHZtd2FyZWN0cmwtY2xpZW50LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW1ZNV0FSRUNUUkw9JGVuYWJsZXZhbF0sIFtWTVdBUkVDVFJMPW5vXSkKKyBBTV9DT05ESVRJT05BTChCVUlMRF9WTVdBUkVDVFJMLCBbdGVzdCAieCRWTVdBUkVDVFJMIiA9IHh5ZXNdKQorIAorKyMgRGVmaW5lIGEgY29uZmlndXJlIG9wdGlvbiB0byBidWlsZCB0aGUgdm13Z2Z4IGRyaXZlcgorK0FDX0FSR19FTkFCTEUodm13Z2Z4LAorKyAgICAgICAgICAgICAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS12bXdnZnhdLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0Rpc2FibGUgdm13Z2Z4IGRyaXZlciAoS01TLzNEKSAoZGVmYXVsdDogZW5hYmxlZCldKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtWTVdHRlg9IiRlbmFibGV2YWwiXSwgW1ZNV0dGWD0ieWVzIl0pCisrQU1fQ09ORElUSU9OQUwoQlVJTERfVk1XR0ZYLCB0ZXN0ICJ4JFZNV0dGWCIgPSB4eWVzKQorKworICMgU3RvcmUgdGhlIGxpc3Qgb2Ygc2VydmVyIGRlZmluZWQgb3B0aW9uYWwgZXh0ZW5zaW9ucyBpbiBSRVFVSVJFRF9NT0RVTEVTCisgWE9SR19EUklWRVJfQ0hFQ0tfRVhUKFJBTkRSLCByYW5kcnByb3RvKQorIFhPUkdfRFJJVkVSX0NIRUNLX0VYVChSRU5ERVIsIHJlbmRlcnByb3RvKQorQEAgLTg1LDExICs5Miw2IEBAIFBLR19DSEVDS19FWElTVFMoW3hvcmctc2VydmVyID49IDEuNC45OV0sCisgICAgICAgICAgICAgICAgICBbQUNfREVGSU5FKFtIQVZFX1hPUkdfU0VSVkVSXzFfNV8wXSwgMSwKKyAgICAgICAgICAgICAgICAgIFtIYXMgdmVyc2lvbiAxLjUuMCBvciBncmVhdGVyIG9mIHRoZSBYc2VydmVyXSldKQorIAorLVBLR19DSEVDS19FWElTVFMoW3hvcmctc2VydmVyID49IDEuNy4wXSwKKy0gICAgICAgICAgICAgICAgIFtBQ19ERUZJTkUoW0hBVkVfWE9SR19TRVJWRVJfMV83XzBdLCAxLAorLSAgICAgICAgICAgICAgICAgW0hhcyB2ZXJzaW9uIDEuNy4wIG9yIGdyZWF0ZXIgb2YgdGhlIFhzZXJ2ZXJdKQorLQkJIEJVSUxEX1ZNV0dGWD15ZXNdLFtCVUlMRF9WTVdHRlg9bm9dKQorLQorIFBLR19DSEVDS19FWElTVFMoW3hvcmctc2VydmVyID49IDEuMTIuMF0sCisgICAgICAgICAgICAgICAgICBbQUNfREVGSU5FKFtIQVZFX1hPUkdfU0VSVkVSXzFfMTJfMF0sIDEsCisgICAgICAgICAgICAgICAgICBbSGFzIHZlcnNpb24gMS4xMi4wIG9yIGdyZWF0ZXIgb2YgdGhlIFhzZXJ2ZXJdKV0pCitAQCAtMTE0LDM5ICsxMTYsMjggQEAgQU1fQ09ORElUSU9OQUwoWFNFUlZFUl9MSUJQQ0lBQ0NFU1MsIHRlc3QgIngkWFNFUlZFUl9MSUJQQ0lBQ0NFU1MiID0geHllcykKKyAKKyBBQ19TVUJTVChbbW9kdWxlZGlyXSkKKyAKKy1pZiB0ZXN0IHgkQlVJTERfVk1XR0ZYID0geHllczsgdGhlbgorLQlQS0dfQ0hFQ0tfTU9EVUxFUyhbTElCRFJNXSwgW2xpYmRybV0sW10sW0JVSUxEX1ZNV0dGWD1ub10pCistZmkKKy1pZiB0ZXN0IHgkQlVJTERfVk1XR0ZYID0geHllczsgdGhlbgorLSMKKy0jIEVhcmx5IHZlcnNpb25zIG9mIG1lc2EgMTAgZm9yZ290IHRvIGJ1bXAgdGhlIFhBIG1ham9yIHZlcnNpb24gbnVtYmVyIGluCistIyB0aGUgeGFfdHJhY2tlci5oIGhlYWRlcgorLSMKKy0JUEtHX0NIRUNLX01PRFVMRVMoW1hBVFJBQ0tFUl0sIFt4YXRyYWNrZXIgPj0gMC40LjBdLAorLQkJCSAgW1BLR19DSEVDS19FWElTVFMoW3hhdHJhY2tlciA9IDIuMC4wXSwKKy0JICAgICAgICAgICAgICAgICAgW0FDX0RFRklORShbSEFWRV9YQV8yXSwgMSwKKy0gICAgICAgICAgICAgICAJCSAgW0hhcyB2ZXJzaW9uIDIgb2YgWEFdKV0pXSwKKy0JCQkgIFtCVUlMRF9WTVdHRlg9bm9dKQorLSMKKy0jIENoZWNrIGZvciBwcmltZS4KKy0jCisrQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGJ1aWxkIEtlcm5lbCBNb2RlIFNldHRpbmcgYW5kIDNEXSkKKytpZiB0ZXN0IHgkVk1XR0ZYID0geHllczsgdGhlbgorKwlQS0dfQ0hFQ0tfTU9EVUxFUyhbTElCRFJNXSwgW2xpYmRybV0pCisrCSMgQ2hlY2sgZm9yIHByaW1lLgorIAlQS0dfQ0hFQ0tfRVhJU1RTKFtsaWJkcm0gPj0gMi40LjM4XSwKKyAJCQkgW0FDX0RFRklORShbSEFWRV9MSUJEUk1fMl80XzM4XSwgMSwKKyAJCQkgW0hhcyB2ZXJzaW9uIDIuNC4zOCBvciBncmVhdGVyIG9mIGxpYmRybV0pXSkKKy1maQorIAorLURSSVZFUl9OQU1FPXZtd2FyZQorLUFDX1NVQlNUKFtEUklWRVJfTkFNRV0pCistCistQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGJ1aWxkIEtlcm5lbCBNb2RlIFNldHRpbmcgYW5kIDNEXSkKKy1pZiB0ZXN0IHgkQlVJTERfVk1XR0ZYID0geHllczsgdGhlbgorLQlBQ19NU0dfUkVTVUxUKFt5ZXNdKQorKwkjIEVhcmx5IHZlcnNpb25zIG9mIG1lc2EgMTAgZm9yZ290IHRvIGJ1bXAgdGhlIFhBIG1ham9yIHZlcnNpb24gbnVtYmVyCisrCSMgaW4gdGhlIHhhX3RyYWNrZXIuaCBoZWFkZXIKKysJUEtHX0NIRUNLX01PRFVMRVMoW1hBVFJBQ0tFUl0sIFt4YXRyYWNrZXIgPj0gMC40LjBdLAorKwkJCSAgW1BLR19DSEVDS19FWElTVFMoW3hhdHJhY2tlciA9IDIuMC4wXSwKKysJICAgICAgICAgICAgICAgICAgW0FDX0RFRklORShbSEFWRV9YQV8yXSwgMSwKKysgICAgICAgICAgICAgICAJCSAgW0hhcyB2ZXJzaW9uIDIgb2YgWEFdKV0pXSkKKyAgICAgICAgIEFDX0RFRklORShbQlVJTERfVk1XR0ZYXSwgMSwgW0J1aWxkaW5nIHRoZSB2bXdnZnggZHJpdmVyIHBhdGhdKQorKwlBQ19NU0dfUkVTVUxUKFt5ZXNdKQorIGVsc2UKKyAJQUNfTVNHX1JFU1VMVChbbm9dKQorIGZpCisgCistQU1fQ09ORElUSU9OQUwoQlVJTERfVk1XR0ZYLCB0ZXN0ICJ4JEJVSUxEX1ZNV0dGWCIgPSB4eWVzKQorK0RSSVZFUl9OQU1FPXZtd2FyZQorK0FDX1NVQlNUKFtEUklWRVJfTkFNRV0pCisgCisgQUNfQ09ORklHX0ZJTEVTKFsKKyAgICAgICAgICAgICAgICAgTWFrZWZpbGUKKy0tIAorMS43LjEwLjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hmODYtdmlkZW8tdm13YXJlXzEzLjEuMC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLXZtd2FyZV8xMy4xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODliOThlZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94Zjg2LXZpZGVvLXZtd2FyZV8xMy4xLjAuYmIKQEAgLTAsMCArMSwxOCBAQAorcmVxdWlyZSB4b3JnLWRyaXZlci12aWRlby5pbmMKKworU1VNTUFSWSA9ICJYLk9yZyBYIHNlcnZlciAtLSBWTXdhcmUgU1ZHQSBkaXNwbGF5IGRyaXZlciIKKworREVTQ1JJUFRJT04gPSAidm13YXJlIGlzIGFuIFhvcmcgZHJpdmVyIGZvciBWTXdhcmUgdmlydHVhbCB2aWRlbyBjYXJkcy4iCisKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTVmY2Q3ZDQzN2E5NTlhMTVmYmVlODcwNzc0N2M2YjUzIgorCitERVBFTkRTICs9ICJ2aXJ0dWFsL2xpYngxMSB4aW5lcmFtYXByb3RvIHZpZGVvcHJvdG8gbGlicGNpYWNjZXNzIgorCitTUkNfVVJJICs9ICJmaWxlOi8vMDAwMi1hZGQtb3B0aW9uLWZvci12bXdnZngucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwY2JhMjJmZWQ0Y2I2MzlkNWM0Mjc2Zjc4OTJjNTQzZCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIzYzFkMjQ0ZTRiMWI3N2U5MjEyNjk1Nzk2NWNkYzlmYjgyZGU0YzIxNWMwNzA2YTNhOGFhZmY2OTM5ZTRhMGNjIgorCitDT01QQVRJQkxFX0hPU1QgPSAnKGkuODYuKi1saW51eHx4ODZfNjQuKi1saW51eCknCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXZtd2dmeCIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94b3JnLWRyaXZlci1jb21tb24uaW5jIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hvcmctZHJpdmVyLWNvbW1vbi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RkZDFjNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94b3JnLWRyaXZlci1jb21tb24uaW5jCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiWCBkcml2ZXIiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lngub3JnIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnIgorU0VDVElPTiA9ICJ4MTEvZHJpdmVycyIKK0xJQ0VOU0UgPSAiTUlULVgiCisKK1BFID0gIjIiCitJTkNfUFIgPSAicjIxIgorCitERVBFTkRTID0gInZpcnR1YWwveHNlcnZlciB4cHJvdG8gcmFuZHJwcm90byB1dGlsLW1hY3JvcyIKKworU1JDX1VSSSA9ICIke1hPUkdfTUlSUk9SfS9pbmRpdmlkdWFsL2RyaXZlci8ke0JQTn0tJHtQVn0udGFyLmJ6MiIKKworRklMRVNfJHtQTn0gKz0gIiAke2xpYmRpcn0veG9yZy9tb2R1bGVzL2RyaXZlcnMvKi5zbyIKK0ZJTEVTXyR7UE59LWRiZyArPSAiICR7bGliZGlyfS94b3JnL21vZHVsZXMvZHJpdmVycy8uZGVidWciCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiB2aXJ0dWFsL3hzZXJ2ZXIKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKKyMgRklYTUU6IFdlIGRvbid0IHdhbnQgdG8gaW5jbHVkZSB0aGUgbGlidG9vbCBhcmNoaXZlcyAoKi5sYSkgZnJvbSBtb2R1bGVzCisjIGRpcmVjdG9yeSwgYXMgdGhleSBzZXJ2ZSBubyB1c2VmdWwgcHVycG9zZS4gVXBzdHJlYW0gc2hvdWxkIGZpeCBNYWtlZmlsZS5hbQorZG9faW5zdGFsbF9hcHBlbmQoKSB7CisJZmluZCAke0R9JHtsaWJkaXJ9L3hvcmcvbW9kdWxlcyAtcmVnZXggIi4qXC5sYSQiIHwgeGFyZ3Mgcm0gLWYgLS0KK30KKworIyBGdW5jdGlvbiB0byBhZGQgdGhlIHJlbGV2YW50IEFCSSBkZXBlbmRlbmN5IHRvIGRyaXZlcnMsIHdoaWNoIHNob3VsZCBiZSBjYWxsZWQKKyMgZnJvbSBhIFBBQ0tBR0VGVU5DLgorZGVmIF9hZGRfeG9yZ19hYmlfZGVwZW5kcyhkLCBuYW1lKToKKyAgICAjIE1hcCBvZiBBQkkgbmFtZXMgZXhwb3NlZCBpbiB0aGUgZGVwZW5kZW5jaWVzIHRvIHBrZy1jb25maWcgdmFyaWFibGVzCisgICAgYWJpcyA9IHsKKyAgICAgICJ2aWRlbyI6ICJhYmlfdmlkZW9kcnYiLAorICAgICAgImlucHV0IjogImFiaV94aW5wdXQiCisgICAgfQorCisgICAgb3V0cHV0ID0gb3MucG9wZW4oInBrZy1jb25maWcgeG9yZy1zZXJ2ZXIgLS12YXJpYWJsZT0lcyIgJSBhYmlzW25hbWVdKS5yZWFkKCkKKyAgICBtbHByZWZpeCA9IGQuZ2V0VmFyKCdNTFBSRUZJWCcsIFRydWUpIG9yICcnCisgICAgYWJpID0gIiVzeG9yZy1hYmktJXMtJXMiICUgKG1scHJlZml4LCBuYW1lLCBvdXRwdXQuc3BsaXQoIi4iKVswXSkKKworICAgIHBuID0gZC5nZXRWYXIoIlBOIiwgVHJ1ZSkKKyAgICBkLmFwcGVuZFZhcignUkRFUEVORFNfJyArIHBuLCAnICcgKyBhYmkpCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveG9yZy1kcml2ZXItaW5wdXQuaW5jIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hvcmctZHJpdmVyLWlucHV0LmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYmVjMDY0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZHJpdmVyL3hvcmctZHJpdmVyLWlucHV0LmluYwpAQCAtMCwwICsxLDExIEBACitpbmNsdWRlIHhvcmctZHJpdmVyLWNvbW1vbi5pbmMKKworREVQRU5EUyArPSAiaW5wdXRwcm90byBrYnByb3RvICIKKworcHl0aG9uIGFkZF94b3JnX2FiaV9kZXBlbmRzKCkgeworICAgIF9hZGRfeG9yZ19hYmlfZGVwZW5kcyhkLCAiaW5wdXQiKQorfQorUEFDS0FHRUZVTkNTID0rICJhZGRfeG9yZ19hYmlfZGVwZW5kcyIKKworRklMRVNfJHtQTn0gKz0gIiAke2xpYmRpcn0veG9yZy9tb2R1bGVzL2lucHV0Lyouc28iCitGSUxFU18ke1BOfS1kYmcgKz0gIiAke2xpYmRpcn0veG9yZy9tb2R1bGVzL2lucHV0Ly5kZWJ1ZyIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWRyaXZlci94b3JnLWRyaXZlci12aWRlby5pbmMgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveG9yZy1kcml2ZXItdmlkZW8uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4MjgxZTAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1kcml2ZXIveG9yZy1kcml2ZXItdmlkZW8uaW5jCkBAIC0wLDAgKzEsOCBAQAoraW5jbHVkZSB4b3JnLWRyaXZlci1jb21tb24uaW5jCisKK0RFUEVORFMgPSsgInJlbmRlcnByb3RvIHZpZGVvcHJvdG8geGV4dHByb3RvIGZvbnRzcHJvdG8iCisKK3B5dGhvbiBhZGRfeG9yZ19hYmlfZGVwZW5kcygpIHsKKyAgICBfYWRkX3hvcmdfYWJpX2RlcGVuZHMoZCwgInZpZGVvIikKK30KK1BBQ0tBR0VGVU5DUyA9KyAiYWRkX3hvcmdfYWJpX2RlcGVuZHMiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2VuY29kaW5ncy9ub2NvbXBpbGVyLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9lbmNvZGluZ3Mvbm9jb21waWxlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMzMwYzE4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9lbmNvZGluZ3Mvbm9jb21waWxlci5wYXRjaApAQCAtMCwwICsxLDMzIEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2NvbmZpZ3VyYXRpb25dCisKK1hPUkdfREVGQVVMVF9PUFRJT05TIHB1bGxzIGluIHRoZSBmb2xsb3dpbmcgZGVwZW5kZW5jeSBjaGFpbnM6CisKK1hPUkdfQ1dBUk5GTEFHUyAtPiBBQ19QUk9HX0NDX0M5OQorWE9SR19TVFJJQ1RfT1BUSU9OIC0+IEFDX1BST0dfQ0NfQzk5LCBYT1JHX0NXQVJORkxBR1MKK1hPUkdfTUFOUEFHRV9TRUNUSU9OUyAtPiBBQ19DQU5PTklDQUxfSE9TVCAtPiBDaGVja3MgaG9zdCAKKworZWFjaCBvZiB3aGljaCB0cmlnZ2VycyB0aGUgdXNlIG9mIHRoZSBob3N0IGNvbXBpbGVyLiBBcyBhbiAiYWxsIgorYXJjaGl0ZWN0dXJlIHBhY2thZ2UsIGl0IHNob3VsZG4ndCBuZWVkIGEgY29tcGlsZXIgKGFuZCBkb2Vzbid0KS4KKworUlAgMTcvNS8yMDExCisKK0luZGV4OiBlbmNvZGluZ3MtMS4wLjQvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZW5jb2RpbmdzLTEuMC40Lm9yaWcvY29uZmlndXJlLmFjCTIwMTEtMDUtMTcgMjM6MzY6MTkuNTA1MDk1ODc2ICswMTAwCisrKysgZW5jb2RpbmdzLTEuMC40L2NvbmZpZ3VyZS5hYwkyMDExLTA1LTE3IDIzOjU0OjE0LjkzNTA5NjEyOCArMDEwMAorQEAgLTQsMTIgKzQsMTIgQEAKKyBBTV9JTklUX0FVVE9NQUtFKFtmb3JlaWduIGRpc3QtYnppcDJdKQorIEFNX01BSU5UQUlORVJfTU9ERQorIAorLSMgUmVxdWlyZSB4b3JnLW1hY3JvczogWE9SR19ERUZBVUxUX09QVElPTlMKKyBtNF9pZm5kZWYoW1hPUkdfTUFDUk9TX1ZFUlNJT05dLAorIAkgIFttNF9mYXRhbChbbXVzdCBpbnN0YWxsIHhvcmctbWFjcm9zIDEuMyBvciBsYXRlciBiZWZvcmUgcnVubmluZyBhdXRvY29uZi9hdXRvZ2VuXSldKQorIFhPUkdfTUFDUk9TX1ZFUlNJT04oMS4zKQorLVhPUkdfREVGQVVMVF9PUFRJT05TCistCisrWE9SR19SRUxFQVNFX1ZFUlNJT04KKytYT1JHX0NIQU5HRUxPRworK1hPUkdfSU5TVEFMTAorIEFDX1BST0dfSU5TVEFMTAorIAorICMgUmVxdWlyZSBYLk9yZydzIGZvbnQgdXRpbCBtYWNyb3MgMS4yIG9yIGxhdGVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2VuY29kaW5nc18xLjAuNC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZW5jb2RpbmdzXzEuMC40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwODQ2ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2VuY29kaW5nc18xLjAuNC5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIlRoZSBYb3JnIGZvbnQgZW5jb2RpbmcgZmlsZXMiCisKK0RFU0NSSVBUSU9OID0gIlRoZSBlbmNvZGluZ3MgdGhhdCBtYXAgdG8gc3BlY2lmaWMgY2hhcmFjdGVycyBmb3IgYSBcCitudW1iZXIgb2YgWG9yZyBhbmQgY29tbW9uIGZvbnRzLiIKKworcmVxdWlyZSB4b3JnLWZvbnQtY29tbW9uLmluYworTElDRU5TRSA9ICJQRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTlkYTkzZjJkYWYyZDU1NzJmYWEyYmZhZjBkYmQ5ZTc2IgorUEUgPSAiMSIKK1BSID0gIiR7SU5DX1BSfS4xIgorCitERVBFTkRTID0gIm1rZm9udHNjYWxlLW5hdGl2ZSBmb250LXV0aWwtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAiIgorCitTUkNfVVJJICs9ICJmaWxlOi8vbm9jb21waWxlci5wYXRjaCIKKworaW5oZXJpdCBhbGxhcmNoCisKK0VYVFJBX09FQ09ORiArPSAiLS13aXRoLWVuY29kaW5nc2Rpcj0ke2RhdGFkaXJ9L2ZvbnRzL1gxMS9lbmNvZGluZ3MiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwZjJkNjU0NmQ1MTRjNWNjNGVjZjc4YTYwNjU3YTVjMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjZWQ2MzEyOTg4YTQ1ZDIzODEyYzJhYzcwOGI0NTk1ZjYzZmQ3YTQ5YzRkY2Q5ZjY2YmRjZDUwZDEwNTdkNTM5IgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9mb250LWFsaWFzLTEuMC4zL25vY29tcGlsZXIucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtYWxpYXMtMS4wLjMvbm9jb21waWxlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYjlmYjhjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC9mb250LWFsaWFzLTEuMC4zL25vY29tcGlsZXIucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitYT1JHX0RFRkFVTFRfT1BUSU9OUyBwdWxscyBpbiB0aGUgZm9sbG93aW5nIGRlcGVuZGVuY3kgY2hhaW5zOgorCitYT1JHX0NXQVJORkxBR1MgLT4gQUNfUFJPR19DQ19DOTkKK1hPUkdfU1RSSUNUX09QVElPTiAtPiBBQ19QUk9HX0NDX0M5OSwgWE9SR19DV0FSTkZMQUdTCitYT1JHX01BTlBBR0VfU0VDVElPTlMgLT4gQUNfQ0FOT05JQ0FMX0hPU1QgLT4gQ2hlY2tzIGhvc3QgCisKK2VhY2ggb2Ygd2hpY2ggdHJpZ2dlcnMgdGhlIHVzZSBvZiB0aGUgaG9zdCBjb21waWxlci4gQXMgYW4gImFsbCIKK2FyY2hpdGVjdHVyZSBwYWNrYWdlLCBpdCBzaG91bGRuJ3QgbmVlZCBhIGNvbXBpbGVyIChhbmQgZG9lc24ndCkuCisKK1JQIDE3LzUvMjAxMQorCitkaWZmIC11TnIgZm9udC1hbGlhcy0xLjAuMy5vcmlnLy9jb25maWd1cmUuYWMgZm9udC1hbGlhcy0xLjAuMy9jb25maWd1cmUuYWMKKy0tLSBmb250LWFsaWFzLTEuMC4zLm9yaWcvL2NvbmZpZ3VyZS5hYwkyMDExLTA1LTE4IDIxOjI5OjE4LjM3ODI1ODY0MyArMDIwMAorKysrIGZvbnQtYWxpYXMtMS4wLjMvY29uZmlndXJlLmFjCTIwMTEtMDUtMTggMjE6MzI6MDYuODY1MjU4NTkzICswMjAwCitAQCAtMjgsMTIgKzI4LDEyIEBACisgQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbiBkaXN0LWJ6aXAyXSkKKyBBTV9NQUlOVEFJTkVSX01PREUKKyAKKy0jIFJlcXVpcmUgeG9yZy1tYWNyb3M6IFhPUkdfREVGQVVMVF9PUFRJT05TCisgbTRfaWZuZGVmKFtYT1JHX01BQ1JPU19WRVJTSU9OXSwKKyAJICBbbTRfZmF0YWwoW211c3QgaW5zdGFsbCB4b3JnLW1hY3JvcyAxLjMgb3IgbGF0ZXIgYmVmb3JlIHJ1bm5pbmcgYXV0b2NvbmYvYXV0b2dlbl0pXSkKKyBYT1JHX01BQ1JPU19WRVJTSU9OKDEuMykKKy1YT1JHX0RFRkFVTFRfT1BUSU9OUworLQorK1hPUkdfUkVMRUFTRV9WRVJTSU9OCisrWE9SR19DSEFOR0VMT0cKKytYT1JHX0lOU1RBTEwKKyBBQ19QUk9HX0lOU1RBTEwKKyAKKyBYT1JHX0ZPTlRST09URElSCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtYWxpYXNfMS4wLjMuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtYWxpYXNfMS4wLjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTVlMTAxNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC1hbGlhc18xLjAuMy5iYgpAQCAtMCwwICsxLDI0IEBACitTVU1NQVJZID0gIlggZm9udCBhbGlhc2VzIgorCityZXF1aXJlIHhvcmctZm9udC1jb21tb24uaW5jCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmYwMTU4Yjg5YmU0OTNkNTIzZDY5ZDlmMjkyNjUwMzggXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vY3lyaWxsaWMvZm9udHMuYWxpYXM7bWQ1PWY0MDc5NWIwNjQwZDY3ODU4MjZhZWNkM2IxNmY2MTI0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovLzc1ZHBpL2ZvbnRzLmFsaWFzO21kNT02YmM0ODAyM2YyYWU3ZjNiZmMxMDVkYjdiMGVlNmI0OSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9taXNjL2ZvbnRzLmFsaWFzO21kNT1hOGVjMDVkNTI4NDMxZDRjOTcwM2I1NWE3ZWZkNjdhOCBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly8xMDBkcGkvZm9udHMuYWxpYXM7bWQ1PTg1YmViZDZjYTIxM2FhNjU2YzMwMWE3MmViNDM5N2NiIgorCitTUkNfVVJJICs9ICJmaWxlOi8vbm9jb21waWxlci5wYXRjaCIKKworREVQRU5EUyA9ICJ1dGlsLW1hY3Jvcy1uYXRpdmUgZm9udC11dGlsLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59ID0gImVuY29kaW5ncyBmb250LXV0aWwiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAiZm9udC11dGlsLW5hdGl2ZSIKKworaW5oZXJpdCBhbGxhcmNoCisKK1BFID0gIjEiCitQUiA9ICIke0lOQ19QUn0uMyIKKworU1JDX1VSSVttZDVzdW1dID0gIjZkMjVmNjQ3OTZmZWYzNGI1M2I0MzljMmU5ZWZhNTYyIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhiNDUzYjJhYWUxY2ZhODA5MDAwOWNhMDM3MDM3YjhjNWUzMzM1NTA2NTFkNWExNThiNzI2NGNlMWQ0NzJjOWEiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtdXRpbF8xLjMuMS5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQvZm9udC11dGlsXzEuMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyODUxMjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L2ZvbnQtdXRpbF8xLjMuMS5iYgpAQCAtMCwwICsxLDI1IEBACitTVU1NQVJZID0gIlguT3JnIGZvbnQgcGFja2FnZSBjcmVhdGlvbi9pbnN0YWxsYXRpb24gdXRpbGl0aWVzIgorCityZXF1aXJlIHhvcmctZm9udC1jb21tb24uaW5jCisKKyNVbmljb2RlIGlzIE1JVAorTElDRU5TRSA9ICJCU0QgJiBNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZGYyMDhlYzY1ZWI4NGNlNWJiOGQ4MmQ4ZjNiOTY3NSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly91Y3MyYW55LmM7ZW5kbGluZT0yODttZDU9ODM1N2RjNTY3ZmM2MjhiZDEyNjk2ZjE1YjJhMzNiY2IgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vYmRmdHJ1bmNhdGUuYztlbmRsaW5lPTI2O21kNT00ZjgyZmZjMTAxYTFiMTY1ZWFlOWM2OTk4YWJmZjkzNyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9tYXAtSVNPODg1OS0xO2JlZ2lubGluZT05O2VuZGxpbmU9MjM7bWQ1PTFjZWNiOTg0MDYzMjQ4ZjI5ZmZlNWM0NmY1YzA0ZjM0IgorCitERVBFTkRTID0gImVuY29kaW5ncyB1dGlsLW1hY3JvcyIKK0RFUEVORFNfY2xhc3MtbmF0aXZlID0gInV0aWwtbWFjcm9zLW5hdGl2ZSIKK1JERVBFTkRTXyR7UE59ID0gIm1rZm9udGRpciBta2ZvbnRzY2FsZSBlbmNvZGluZ3MiCitSREVQRU5EU18ke1BOfV9jbGFzcy1uYXRpdmUgPSAibWtmb250ZGlyLW5hdGl2ZSBta2ZvbnRzY2FsZS1uYXRpdmUiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjM3NTZkYWI4MDlmOWVjNTAxMWJiMjdmYjJjM2M3ZDYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWE3ZWJkYjA3MTUxMDZkZDI1NTA4MmYyMzEwZGJhYTJjZDdlMjI1OTU3YzJhNzdkNzE5NzIwYzdjYzkyYjkyMSIKKworU1lTUk9PVF9QUkVQUk9DRVNTX0ZVTkNTICs9ICJmb250dXRpbF9zeXNyb290X3ByZXByb2Nlc3MiCitmb250dXRpbF9zeXNyb290X3ByZXByb2Nlc3MgKCkgeworCXN5c3Jvb3Rfc3RhZ2VfZGlyICR7RH0ke2RhdGFkaXJ9L2ZvbnRzLyAke1NZU1JPT1RfREVTVERJUn0ke2RhdGFkaXJ9L2ZvbnRzLworfQpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLWZvbnQtY29tbW9uLmluYyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1mb250LWNvbW1vbi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDUyNjdmNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1mb250LWNvbW1vbi5pbmMKQEAgLTAsMCArMSw0MiBAQAorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy54Lm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9eG9yZyIKKworU0VDVElPTiA9ICJ4MTEvZm9udHMiCitMSUNFTlNFID0gIk1JVC1YIgorCitERVBFTkRTID0gIiBlbmNvZGluZ3MgZm9udC1hbGlhcyBmb250LXV0aWwtbmF0aXZlIG1rZm9udGRpci1uYXRpdmUgbWtmb250c2NhbGUtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gPSAiZW5jb2RpbmdzIGZvbnQtdXRpbCBmb250LWFsaWFzIgorCitYT1JHX1BOID0gIiR7QlBOfSIKK0lOQ19QUiA9ICJyMiIKKworCitTUkNfVVJJID0gIiR7WE9SR19NSVJST1J9L2luZGl2aWR1YWwvZm9udC8ke1hPUkdfUE59LSR7UFZ9LnRhci5iejIiCitTID0gIiR7V09SS0RJUn0vJHtYT1JHX1BOfS0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIGRpc3Ryb19mZWF0dXJlc19jaGVjaworCisjIFRoZSBta2ZvbnRzY2FsZS1uYXRpdmUgcmVxdWlyZXMgeDExIGluIERJU1RST19GRUFUVVJFUworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworRVhUUkFfT0VNQUtFICs9ICJGQ0NBQ0hFPS9iaW4vdHJ1ZSBVVElMX0RJUj0ke1NUQUdJTkdfRElSX1RBUkdFVH1cJFwoTUFQRklMRVNfUEFUSFwpIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwlmaW5kICR7RH0ke2xpYmRpcn0vWDExL2ZvbnRzIC10eXBlIGYgLW5hbWUgZm9udHMuZGlyIHwgeGFyZ3Mgcm0gLWYKKwlmaW5kICR7RH0ke2xpYmRpcn0vWDExL2ZvbnRzIC10eXBlIGYgLW5hbWUgZm9udHMuc2NhbGUgfCB4YXJncyBybSAtZgorCWZpbmQgJHtEfSR7ZGF0YWRpcn0vZm9udHMvWDExIC10eXBlIGYgLW5hbWUgZm9udHMuZGlyIHwgeGFyZ3Mgcm0gLWYKKwlmaW5kICR7RH0ke2RhdGFkaXJ9L2ZvbnRzL1gxMSAtdHlwZSBmIC1uYW1lIGZvbnRzLnNjYWxlIHwgeGFyZ3Mgcm0gLWYJCit9CisKK0ZJTEVTXyR7UE59ICs9ICIgJHtsaWJkaXJ9L1gxMS9mb250cyAke2RhdGFkaXJ9IgorCitwa2dfcG9zdGluc3RfJHtQTn0gKCkgeworICAgICAgICBmb3IgZm9udGRpciBpbiBgZmluZCAkRC91c3IvbGliL1gxMS9mb250cyAtdHlwZSBkYDsgZG8KKyAgICAgICAgICAgICAgICBta2ZvbnRkaXIgJGZvbnRkaXIKKyAgICAgICAgICAgICAgICBta2ZvbnRzY2FsZSAkZm9udGRpcgorICAgICAgICBkb25lCisgICAgICAgIGZvciBmb250ZGlyIGluIGBmaW5kICREL3Vzci9zaGFyZS9mb250cy9YMTEgLXR5cGUgZGA7IGRvCisgICAgICAgICAgICAgICAgbWtmb250ZGlyICRmb250ZGlyCisgICAgICAgICAgICAgICAgbWtmb250c2NhbGUgJGZvbnRkaXIKKyAgICAgICAgZG9uZQorfQpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YmNkMWIyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMuYmIKQEAgLTAsMCArMSwzMiBAQAorU1VNTUFSWSA9ICJYb3JnIG1pbmltYWwgZm9udHMgZGF0YSIKK0RFU0NSSVBUSU9OID0gIk1pbmltYWwgZm9udHMgcmVxdWlyZWQgYnkgWC5vcmcuIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy54Lm9yZyIKKworU0VDVElPTiA9ICJ4MTEvZm9udHMiCisKK0xJQ0VOU0UgPSAiUEQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly8uLi9taXNjL2ZvbnRzLmRpcjttZDU9ODJhMTQzZDk0ZDZhOTc0YWFmZTk3MTMyZDJkNTE5YWIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vLi4vbWlzYy9jdXJzb3IucGNmLmd6O21kNT00MGJjODEwMDFmZWY0YzIxY2EwOGRmNDMwNTAxNGEyYSIKKworU1JDX1VSSSA9ICJmaWxlOi8vbWlzYyIKKworUEUgPSAiMSIKK1BSID0gInIyIgorCitpbmhlcml0IGFsbGFyY2ggZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKKyMgVGhlIGZvbnQtYWxpYXMgcmVxdWlyZXMgeDExIGluIERJU1RST19GRUFUVVJFUworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworUyA9ICIke1dPUktESVJ9L21pc2MiCisKK1BBQ0tBR0VTID0gIiR7UE59IgorRklMRVNfJHtQTn0gPSAiJHtsaWJkaXJ9L1gxMS8gJHtkYXRhZGlyfS9mb250cy9YMTEvIgorUkRFUEVORFNfJHtQTn0gKz0gImZvbnQtYWxpYXMiCisKK2RvX2luc3RhbGwoKSB7CisJaW5zdGFsbCAtZCAke0R9LyR7ZGF0YWRpcn0vZm9udHMvWDExL21pc2MKKwlpbnN0YWxsIC1tIDA2NDQgJHtTfS8qICR7RH0vJHtkYXRhZGlyfS9mb250cy9YMTEvbWlzYy8KKwlpbnN0YWxsIC1kICR7RH0vJHtsaWJkaXJ9L1gxMQorCWxuIC1zZiAke2RhdGFkaXJ9L2ZvbnRzL1gxMS8gJHtEfS8ke2xpYmRpcn0vWDExL2ZvbnRzIC1zCit9CmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS0xLnBjZi5neiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxMy1JU084ODU5LTEucGNmLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiYzg1NzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS0xLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS0xMC5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS0xMC5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGZhODI5MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxMy1JU084ODU5LTEwLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS0xMS5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS0xMS5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIxYzVlMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxMy1JU084ODU5LTExLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS0xMy5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS0xMy5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQyZmExYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxMy1JU084ODU5LTEzLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS0xNC5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS0xNC5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2QxMTliNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxMy1JU084ODU5LTE0LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS0xNS5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS0xNS5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjVmZTg0YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxMy1JU084ODU5LTE1LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS0xNi5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS0xNi5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTM2MmM3MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxMy1JU084ODU5LTE2LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS0yLnBjZi5neiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxMy1JU084ODU5LTIucGNmLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3NmE3NTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS0yLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS0zLnBjZi5neiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxMy1JU084ODU5LTMucGNmLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0ZmFmMWEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS0zLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS00LnBjZi5neiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxMy1JU084ODU5LTQucGNmLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2ZGRkMTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS00LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS01LnBjZi5neiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxMy1JU084ODU5LTUucGNmLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0MWEyYWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS01LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS03LnBjZi5neiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxMy1JU084ODU5LTcucGNmLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0OTg2ZjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS03LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS04LnBjZi5neiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxMy1JU084ODU5LTgucGNmLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmODlhYmUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS04LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS05LnBjZi5neiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxMy1JU084ODU5LTkucGNmLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzMmI1MzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtSVNPODg1OS05LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtS09JOC1SLnBjZi5neiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxMy1LT0k4LVIucGNmLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3ZmNiODkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMtS09JOC1SLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTMucGNmLmd6IGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzLnBjZi5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZGY2MzU1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktMS5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktMS5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI2M2M1ZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxM0ItSVNPODg1OS0xLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktMTAucGNmLmd6IGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzQi1JU084ODU5LTEwLnBjZi5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMWE3ZDM3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzQi1JU084ODU5LTEwLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktMTMucGNmLmd6IGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzQi1JU084ODU5LTEzLnBjZi5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTQ4ZTk5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzQi1JU084ODU5LTEzLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktMTQucGNmLmd6IGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzQi1JU084ODU5LTE0LnBjZi5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzkxYjhjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzQi1JU084ODU5LTE0LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktMTUucGNmLmd6IGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzQi1JU084ODU5LTE1LnBjZi5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NjA0NTA4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzQi1JU084ODU5LTE1LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktMTYucGNmLmd6IGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzQi1JU084ODU5LTE2LnBjZi5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMjhiMWYxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzQi1JU084ODU5LTE2LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktMi5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktMi5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQxZTZjZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxM0ItSVNPODg1OS0yLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktMy5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktMy5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjcyYjc1OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxM0ItSVNPODg1OS0zLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktNC5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktNC5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDkwYTQzMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxM0ItSVNPODg1OS00LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktNS5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktNS5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzc1ZTdjMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxM0ItSVNPODg1OS01LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktNy5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktNy5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWMxMmZkOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxM0ItSVNPODg1OS03LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktOC5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktOC5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDJiYmQ1MgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxM0ItSVNPODg1OS04LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktOS5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLUlTTzg4NTktOS5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjkwZDMxZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxM0ItSVNPODg1OS05LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLnBjZi5neiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxM0IucGNmLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0YzMxODQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNCLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLUlTTzg4NTktMS5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLUlTTzg4NTktMS5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODg0YjUxMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxM08tSVNPODg1OS0xLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLUlTTzg4NTktMTAucGNmLmd6IGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzTy1JU084ODU5LTEwLnBjZi5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYmIxYTlkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzTy1JU084ODU5LTEwLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLUlTTzg4NTktMTMucGNmLmd6IGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzTy1JU084ODU5LTEzLnBjZi5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OGM4NTgwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzTy1JU084ODU5LTEzLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLUlTTzg4NTktMTQucGNmLmd6IGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzTy1JU084ODU5LTE0LnBjZi5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTkwZjNlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzTy1JU084ODU5LTE0LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLUlTTzg4NTktMTUucGNmLmd6IGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzTy1JU084ODU5LTE1LnBjZi5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDEyNzNlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzTy1JU084ODU5LTE1LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLUlTTzg4NTktMTYucGNmLmd6IGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzTy1JU084ODU5LTE2LnBjZi5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTAwYjQyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctZm9udC94b3JnLW1pbmltYWwtZm9udHMvbWlzYy82eDEzTy1JU084ODU5LTE2LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLUlTTzg4NTktMi5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLUlTTzg4NTktMi5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWM1YmJlZAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxM08tSVNPODg1OS0yLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLUlTTzg4NTktMy5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLUlTTzg4NTktMy5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDZjODM1ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxM08tSVNPODg1OS0zLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLUlTTzg4NTktNC5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLUlTTzg4NTktNC5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDc4NTQxYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxM08tSVNPODg1OS00LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLUlTTzg4NTktNS5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLUlTTzg4NTktNS5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWM1OTNjZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxM08tSVNPODg1OS01LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLUlTTzg4NTktNy5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLUlTTzg4NTktNy5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzM1Y2Y1ZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxM08tSVNPODg1OS03LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLUlTTzg4NTktOS5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLUlTTzg4NTktOS5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDk5NDIzZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxM08tSVNPODg1OS05LnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLnBjZi5neiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvNngxM08ucGNmLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhNTQ2ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjLzZ4MTNPLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjL2N1cnNvci5wY2YuZ3ogYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjL2N1cnNvci5wY2YuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJlYjcyYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvY3Vyc29yLnBjZi5negpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjL2ZvbnRzLmRpciBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWZvbnQveG9yZy1taW5pbWFsLWZvbnRzL21pc2MvZm9udHMuZGlyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhMjcxOGYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1mb250L3hvcmctbWluaW1hbC1mb250cy9taXNjL2ZvbnRzLmRpcgpAQCAtMCwwICsxLDQxMCBAQAorNDA5CisxMHgyMC1JU084ODU5LTEucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMjAtMjAwLTc1LTc1LWMtMTAwLWlzbzg4NTktMQorMTB4MjAtSVNPODg1OS0xMC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0yMC0yMDAtNzUtNzUtYy0xMDAtaXNvODg1OS0xMAorMTB4MjAtSVNPODg1OS0xMS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0yMC0yMDAtNzUtNzUtYy0xMDAtaXNvODg1OS0xMQorMTB4MjAtSVNPODg1OS0xMy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0yMC0yMDAtNzUtNzUtYy0xMDAtaXNvODg1OS0xMworMTB4MjAtSVNPODg1OS0xNC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0yMC0yMDAtNzUtNzUtYy0xMDAtaXNvODg1OS0xNAorMTB4MjAtSVNPODg1OS0xNS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0yMC0yMDAtNzUtNzUtYy0xMDAtaXNvODg1OS0xNQorMTB4MjAtSVNPODg1OS0xNi5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0yMC0yMDAtNzUtNzUtYy0xMDAtaXNvODg1OS0xNgorMTB4MjAtSVNPODg1OS0yLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTIwLTIwMC03NS03NS1jLTEwMC1pc284ODU5LTIKKzEweDIwLUlTTzg4NTktMy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0yMC0yMDAtNzUtNzUtYy0xMDAtaXNvODg1OS0zCisxMHgyMC1JU084ODU5LTQucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMjAtMjAwLTc1LTc1LWMtMTAwLWlzbzg4NTktNAorMTB4MjAtSVNPODg1OS01LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTIwLTIwMC03NS03NS1jLTEwMC1pc284ODU5LTUKKzEweDIwLUlTTzg4NTktNy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0yMC0yMDAtNzUtNzUtYy0xMDAtaXNvODg1OS03CisxMHgyMC1JU084ODU5LTgucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMjAtMjAwLTc1LTc1LWMtMTAwLWlzbzg4NTktOAorMTB4MjAtSVNPODg1OS05LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTIwLTIwMC03NS03NS1jLTEwMC1pc284ODU5LTkKKzEweDIwLUtPSTgtUi5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0yMC0yMDAtNzUtNzUtYy0xMDAta29pOC1yCisxMHgyMC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0yMC0yMDAtNzUtNzUtYy0xMDAtaXNvMTA2NDYtMQorMTJ4MTNqYS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLWphLTEzLTEyMC03NS03NS1jLTEyMC1pc28xMDY0Ni0xCisxMngyNC5wY2YuZ3ogLXNvbnktZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0yNC0xNzAtMTAwLTEwMC1jLTEyMC1pc284ODU5LTEKKzEyeDI0cmsucGNmLmd6IC1zb255LWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMjQtMTcwLTEwMC0xMDAtYy0xMjAtamlzeDAyMDEuMTk3Ni0wCisxOHgxOGphLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtamEtMTgtMTIwLTEwMC0xMDAtYy0xODAtaXNvMTA2NDYtMQorMTh4MThrby5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLWtvLTE4LTEyMC0xMDAtMTAwLWMtMTgwLWlzbzEwNjQ2LTEKKzR4Ni1JU084ODU5LTEucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tNi02MC03NS03NS1jLTQwLWlzbzg4NTktMQorNHg2LUlTTzg4NTktMTAucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tNi02MC03NS03NS1jLTQwLWlzbzg4NTktMTAKKzR4Ni1JU084ODU5LTEzLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTYtNjAtNzUtNzUtYy00MC1pc284ODU5LTEzCis0eDYtSVNPODg1OS0xNC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS02LTYwLTc1LTc1LWMtNDAtaXNvODg1OS0xNAorNHg2LUlTTzg4NTktMTUucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tNi02MC03NS03NS1jLTQwLWlzbzg4NTktMTUKKzR4Ni1JU084ODU5LTE2LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTYtNjAtNzUtNzUtYy00MC1pc284ODU5LTE2Cis0eDYtSVNPODg1OS0yLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTYtNjAtNzUtNzUtYy00MC1pc284ODU5LTIKKzR4Ni1JU084ODU5LTMucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tNi02MC03NS03NS1jLTQwLWlzbzg4NTktMworNHg2LUlTTzg4NTktNC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS02LTYwLTc1LTc1LWMtNDAtaXNvODg1OS00Cis0eDYtSVNPODg1OS01LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTYtNjAtNzUtNzUtYy00MC1pc284ODU5LTUKKzR4Ni1JU084ODU5LTcucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tNi02MC03NS03NS1jLTQwLWlzbzg4NTktNworNHg2LUlTTzg4NTktOC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS02LTYwLTc1LTc1LWMtNDAtaXNvODg1OS04Cis0eDYtSVNPODg1OS05LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTYtNjAtNzUtNzUtYy00MC1pc284ODU5LTkKKzR4Ni1LT0k4LVIucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tNi02MC03NS03NS1jLTQwLWtvaTgtcgorNHg2LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTYtNjAtNzUtNzUtYy00MC1pc28xMDY0Ni0xCis1eDctSVNPODg1OS0xLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTctNzAtNzUtNzUtYy01MC1pc284ODU5LTEKKzV4Ny1JU084ODU5LTEwLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTctNzAtNzUtNzUtYy01MC1pc284ODU5LTEwCis1eDctSVNPODg1OS0xMy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS03LTcwLTc1LTc1LWMtNTAtaXNvODg1OS0xMworNXg3LUlTTzg4NTktMTQucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tNy03MC03NS03NS1jLTUwLWlzbzg4NTktMTQKKzV4Ny1JU084ODU5LTE1LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTctNzAtNzUtNzUtYy01MC1pc284ODU5LTE1Cis1eDctSVNPODg1OS0xNi5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS03LTcwLTc1LTc1LWMtNTAtaXNvODg1OS0xNgorNXg3LUlTTzg4NTktMi5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS03LTcwLTc1LTc1LWMtNTAtaXNvODg1OS0yCis1eDctSVNPODg1OS0zLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTctNzAtNzUtNzUtYy01MC1pc284ODU5LTMKKzV4Ny1JU084ODU5LTQucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tNy03MC03NS03NS1jLTUwLWlzbzg4NTktNAorNXg3LUlTTzg4NTktNS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS03LTcwLTc1LTc1LWMtNTAtaXNvODg1OS01Cis1eDctSVNPODg1OS03LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTctNzAtNzUtNzUtYy01MC1pc284ODU5LTcKKzV4Ny1JU084ODU5LTgucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tNy03MC03NS03NS1jLTUwLWlzbzg4NTktOAorNXg3LUlTTzg4NTktOS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS03LTcwLTc1LTc1LWMtNTAtaXNvODg1OS05Cis1eDctS09JOC1SLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTctNzAtNzUtNzUtYy01MC1rb2k4LXIKKzV4Ny5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS03LTcwLTc1LTc1LWMtNTAtaXNvMTA2NDYtMQorNXg4LUlTTzg4NTktMS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS04LTgwLTc1LTc1LWMtNTAtaXNvODg1OS0xCis1eDgtSVNPODg1OS0xMC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS04LTgwLTc1LTc1LWMtNTAtaXNvODg1OS0xMAorNXg4LUlTTzg4NTktMTMucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tOC04MC03NS03NS1jLTUwLWlzbzg4NTktMTMKKzV4OC1JU084ODU5LTE0LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTgtODAtNzUtNzUtYy01MC1pc284ODU5LTE0Cis1eDgtSVNPODg1OS0xNS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS04LTgwLTc1LTc1LWMtNTAtaXNvODg1OS0xNQorNXg4LUlTTzg4NTktMTYucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tOC04MC03NS03NS1jLTUwLWlzbzg4NTktMTYKKzV4OC1JU084ODU5LTIucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tOC04MC03NS03NS1jLTUwLWlzbzg4NTktMgorNXg4LUlTTzg4NTktMy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS04LTgwLTc1LTc1LWMtNTAtaXNvODg1OS0zCis1eDgtSVNPODg1OS00LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTgtODAtNzUtNzUtYy01MC1pc284ODU5LTQKKzV4OC1JU084ODU5LTUucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tOC04MC03NS03NS1jLTUwLWlzbzg4NTktNQorNXg4LUlTTzg4NTktNy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS04LTgwLTc1LTc1LWMtNTAtaXNvODg1OS03Cis1eDgtSVNPODg1OS04LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTgtODAtNzUtNzUtYy01MC1pc284ODU5LTgKKzV4OC1JU084ODU5LTkucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tOC04MC03NS03NS1jLTUwLWlzbzg4NTktOQorNXg4LUtPSTgtUi5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS04LTgwLTc1LTc1LWMtNTAta29pOC1yCis1eDgucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tOC04MC03NS03NS1jLTUwLWlzbzEwNjQ2LTEKKzZ4MTAtSVNPODg1OS0xLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTEwLTEwMC03NS03NS1jLTYwLWlzbzg4NTktMQorNngxMC1JU084ODU5LTEwLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTEwLTEwMC03NS03NS1jLTYwLWlzbzg4NTktMTAKKzZ4MTAtSVNPODg1OS0xMy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xMC0xMDAtNzUtNzUtYy02MC1pc284ODU5LTEzCis2eDEwLUlTTzg4NTktMTQucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTAtMTAwLTc1LTc1LWMtNjAtaXNvODg1OS0xNAorNngxMC1JU084ODU5LTE1LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTEwLTEwMC03NS03NS1jLTYwLWlzbzg4NTktMTUKKzZ4MTAtSVNPODg1OS0xNi5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xMC0xMDAtNzUtNzUtYy02MC1pc284ODU5LTE2Cis2eDEwLUlTTzg4NTktMi5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xMC0xMDAtNzUtNzUtYy02MC1pc284ODU5LTIKKzZ4MTAtSVNPODg1OS0zLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTEwLTEwMC03NS03NS1jLTYwLWlzbzg4NTktMworNngxMC1JU084ODU5LTQucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTAtMTAwLTc1LTc1LWMtNjAtaXNvODg1OS00Cis2eDEwLUlTTzg4NTktNS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xMC0xMDAtNzUtNzUtYy02MC1pc284ODU5LTUKKzZ4MTAtSVNPODg1OS03LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTEwLTEwMC03NS03NS1jLTYwLWlzbzg4NTktNworNngxMC1JU084ODU5LTgucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTAtMTAwLTc1LTc1LWMtNjAtaXNvODg1OS04Cis2eDEwLUlTTzg4NTktOS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xMC0xMDAtNzUtNzUtYy02MC1pc284ODU5LTkKKzZ4MTAtS09JOC1SLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTEwLTEwMC03NS03NS1jLTYwLWtvaTgtcgorNngxMC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xMC0xMDAtNzUtNzUtYy02MC1pc28xMDY0Ni0xCis2eDEyLUlTTzg4NTktMS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItc2VtaWNvbmRlbnNlZC0tMTItMTEwLTc1LTc1LWMtNjAtaXNvODg1OS0xCis2eDEyLUlTTzg4NTktMTAucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEyLTExMC03NS03NS1jLTYwLWlzbzg4NTktMTAKKzZ4MTItSVNPODg1OS0xMy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItc2VtaWNvbmRlbnNlZC0tMTItMTEwLTc1LTc1LWMtNjAtaXNvODg1OS0xMworNngxMi1JU084ODU5LTE0LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1zZW1pY29uZGVuc2VkLS0xMi0xMTAtNzUtNzUtYy02MC1pc284ODU5LTE0Cis2eDEyLUlTTzg4NTktMTUucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEyLTExMC03NS03NS1jLTYwLWlzbzg4NTktMTUKKzZ4MTItSVNPODg1OS0xNi5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItc2VtaWNvbmRlbnNlZC0tMTItMTEwLTc1LTc1LWMtNjAtaXNvODg1OS0xNgorNngxMi1JU084ODU5LTIucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEyLTExMC03NS03NS1jLTYwLWlzbzg4NTktMgorNngxMi1JU084ODU5LTMucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEyLTExMC03NS03NS1jLTYwLWlzbzg4NTktMworNngxMi1JU084ODU5LTQucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEyLTExMC03NS03NS1jLTYwLWlzbzg4NTktNAorNngxMi1JU084ODU5LTUucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEyLTExMC03NS03NS1jLTYwLWlzbzg4NTktNQorNngxMi1JU084ODU5LTcucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEyLTExMC03NS03NS1jLTYwLWlzbzg4NTktNworNngxMi1JU084ODU5LTgucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEyLTExMC03NS03NS1jLTYwLWlzbzg4NTktOAorNngxMi1JU084ODU5LTkucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEyLTExMC03NS03NS1jLTYwLWlzbzg4NTktOQorNngxMi1LT0k4LVIucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEyLTExMC03NS03NS1jLTYwLWtvaTgtcgorNngxMi5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItc2VtaWNvbmRlbnNlZC0tMTItMTEwLTc1LTc1LWMtNjAtaXNvMTA2NDYtMQorNngxMy1JU084ODU5LTEucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWlzbzg4NTktMQorNngxMy1JU084ODU5LTEwLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1zZW1pY29uZGVuc2VkLS0xMy0xMjAtNzUtNzUtYy02MC1pc284ODU5LTEwCis2eDEzLUlTTzg4NTktMTEucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWlzbzg4NTktMTEKKzZ4MTMtSVNPODg1OS0xMy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItc2VtaWNvbmRlbnNlZC0tMTMtMTIwLTc1LTc1LWMtNjAtaXNvODg1OS0xMworNngxMy1JU084ODU5LTE0LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1zZW1pY29uZGVuc2VkLS0xMy0xMjAtNzUtNzUtYy02MC1pc284ODU5LTE0Cis2eDEzLUlTTzg4NTktMTUucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWlzbzg4NTktMTUKKzZ4MTMtSVNPODg1OS0xNi5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItc2VtaWNvbmRlbnNlZC0tMTMtMTIwLTc1LTc1LWMtNjAtaXNvODg1OS0xNgorNngxMy1JU084ODU5LTIucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWlzbzg4NTktMgorNngxMy1JU084ODU5LTMucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWlzbzg4NTktMworNngxMy1JU084ODU5LTQucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWlzbzg4NTktNAorNngxMy1JU084ODU5LTUucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWlzbzg4NTktNQorNngxMy1JU084ODU5LTcucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWlzbzg4NTktNworNngxMy1JU084ODU5LTgucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWlzbzg4NTktOAorNngxMy1JU084ODU5LTkucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWlzbzg4NTktOQorNngxMy1LT0k4LVIucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWtvaTgtcgorNngxMy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItc2VtaWNvbmRlbnNlZC0tMTMtMTIwLTc1LTc1LWMtNjAtaXNvMTA2NDYtMQorNngxM0ItSVNPODg1OS0xLnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItc2VtaWNvbmRlbnNlZC0tMTMtMTIwLTc1LTc1LWMtNjAtaXNvODg1OS0xCis2eDEzQi1JU084ODU5LTEwLnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItc2VtaWNvbmRlbnNlZC0tMTMtMTIwLTc1LTc1LWMtNjAtaXNvODg1OS0xMAorNngxM0ItSVNPODg1OS0xMy5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWlzbzg4NTktMTMKKzZ4MTNCLUlTTzg4NTktMTQucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1zZW1pY29uZGVuc2VkLS0xMy0xMjAtNzUtNzUtYy02MC1pc284ODU5LTE0Cis2eDEzQi1JU084ODU5LTE1LnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItc2VtaWNvbmRlbnNlZC0tMTMtMTIwLTc1LTc1LWMtNjAtaXNvODg1OS0xNQorNngxM0ItSVNPODg1OS0xNi5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWlzbzg4NTktMTYKKzZ4MTNCLUlTTzg4NTktMi5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWlzbzg4NTktMgorNngxM0ItSVNPODg1OS0zLnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItc2VtaWNvbmRlbnNlZC0tMTMtMTIwLTc1LTc1LWMtNjAtaXNvODg1OS0zCis2eDEzQi1JU084ODU5LTQucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1zZW1pY29uZGVuc2VkLS0xMy0xMjAtNzUtNzUtYy02MC1pc284ODU5LTQKKzZ4MTNCLUlTTzg4NTktNS5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWlzbzg4NTktNQorNngxM0ItSVNPODg1OS03LnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItc2VtaWNvbmRlbnNlZC0tMTMtMTIwLTc1LTc1LWMtNjAtaXNvODg1OS03Cis2eDEzQi1JU084ODU5LTgucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1zZW1pY29uZGVuc2VkLS0xMy0xMjAtNzUtNzUtYy02MC1pc284ODU5LTgKKzZ4MTNCLUlTTzg4NTktOS5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWlzbzg4NTktOQorNngxM0IucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1zZW1pY29uZGVuc2VkLS0xMy0xMjAtNzUtNzUtYy02MC1pc28xMDY0Ni0xCis2eDEzTy1JU084ODU5LTEucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1vLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWlzbzg4NTktMQorNngxM08tSVNPODg1OS0xMC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tc2VtaWNvbmRlbnNlZC0tMTMtMTIwLTc1LTc1LWMtNjAtaXNvODg1OS0xMAorNngxM08tSVNPODg1OS0xMy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tc2VtaWNvbmRlbnNlZC0tMTMtMTIwLTc1LTc1LWMtNjAtaXNvODg1OS0xMworNngxM08tSVNPODg1OS0xNC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tc2VtaWNvbmRlbnNlZC0tMTMtMTIwLTc1LTc1LWMtNjAtaXNvODg1OS0xNAorNngxM08tSVNPODg1OS0xNS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tc2VtaWNvbmRlbnNlZC0tMTMtMTIwLTc1LTc1LWMtNjAtaXNvODg1OS0xNQorNngxM08tSVNPODg1OS0xNi5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tc2VtaWNvbmRlbnNlZC0tMTMtMTIwLTc1LTc1LWMtNjAtaXNvODg1OS0xNgorNngxM08tSVNPODg1OS0yLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tby1zZW1pY29uZGVuc2VkLS0xMy0xMjAtNzUtNzUtYy02MC1pc284ODU5LTIKKzZ4MTNPLUlTTzg4NTktMy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tc2VtaWNvbmRlbnNlZC0tMTMtMTIwLTc1LTc1LWMtNjAtaXNvODg1OS0zCis2eDEzTy1JU084ODU5LTQucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1vLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWlzbzg4NTktNAorNngxM08tSVNPODg1OS01LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tby1zZW1pY29uZGVuc2VkLS0xMy0xMjAtNzUtNzUtYy02MC1pc284ODU5LTUKKzZ4MTNPLUlTTzg4NTktNy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tc2VtaWNvbmRlbnNlZC0tMTMtMTIwLTc1LTc1LWMtNjAtaXNvODg1OS03Cis2eDEzTy1JU084ODU5LTkucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1vLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWlzbzg4NTktOQorNngxM08ucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1vLXNlbWljb25kZW5zZWQtLTEzLTEyMC03NS03NS1jLTYwLWlzbzEwNjQ2LTEKKzZ4OS1JU084ODU5LTEucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tOS05MC03NS03NS1jLTYwLWlzbzg4NTktMQorNng5LUlTTzg4NTktMTAucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tOS05MC03NS03NS1jLTYwLWlzbzg4NTktMTAKKzZ4OS1JU084ODU5LTEzLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTktOTAtNzUtNzUtYy02MC1pc284ODU5LTEzCis2eDktSVNPODg1OS0xNC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS05LTkwLTc1LTc1LWMtNjAtaXNvODg1OS0xNAorNng5LUlTTzg4NTktMTUucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tOS05MC03NS03NS1jLTYwLWlzbzg4NTktMTUKKzZ4OS1JU084ODU5LTE2LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTktOTAtNzUtNzUtYy02MC1pc284ODU5LTE2Cis2eDktSVNPODg1OS0yLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTktOTAtNzUtNzUtYy02MC1pc284ODU5LTIKKzZ4OS1JU084ODU5LTMucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tOS05MC03NS03NS1jLTYwLWlzbzg4NTktMworNng5LUlTTzg4NTktNC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS05LTkwLTc1LTc1LWMtNjAtaXNvODg1OS00Cis2eDktSVNPODg1OS01LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTktOTAtNzUtNzUtYy02MC1pc284ODU5LTUKKzZ4OS1JU084ODU5LTcucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tOS05MC03NS03NS1jLTYwLWlzbzg4NTktNworNng5LUlTTzg4NTktOC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS05LTkwLTc1LTc1LWMtNjAtaXNvODg1OS04Cis2eDktSVNPODg1OS05LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTktOTAtNzUtNzUtYy02MC1pc284ODU5LTkKKzZ4OS1LT0k4LVIucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tOS05MC03NS03NS1jLTYwLWtvaTgtcgorNng5LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTktOTAtNzUtNzUtYy02MC1pc28xMDY0Ni0xCis3eDEzLUlTTzg4NTktMS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTEKKzd4MTMtSVNPODg1OS0xMC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTEwCis3eDEzLUlTTzg4NTktMTEucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtNzAtaXNvODg1OS0xMQorN3gxMy1JU084ODU5LTEzLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTcwLWlzbzg4NTktMTMKKzd4MTMtSVNPODg1OS0xNC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTE0Cis3eDEzLUlTTzg4NTktMTUucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtNzAtaXNvODg1OS0xNQorN3gxMy1JU084ODU5LTE2LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTcwLWlzbzg4NTktMTYKKzd4MTMtSVNPODg1OS0yLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTcwLWlzbzg4NTktMgorN3gxMy1JU084ODU5LTMucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtNzAtaXNvODg1OS0zCis3eDEzLUlTTzg4NTktNC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTQKKzd4MTMtSVNPODg1OS01LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTcwLWlzbzg4NTktNQorN3gxMy1JU084ODU5LTcucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtNzAtaXNvODg1OS03Cis3eDEzLUlTTzg4NTktOC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTgKKzd4MTMtSVNPODg1OS05LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTcwLWlzbzg4NTktOQorN3gxMy1LT0k4LVIucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtNzAta29pOC1yCis3eDEzLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTcwLWlzbzEwNjQ2LTEKKzd4MTNCLUlTTzg4NTktMS5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtNzAtaXNvODg1OS0xCis3eDEzQi1JU084ODU5LTEwLnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTEwCis3eDEzQi1JU084ODU5LTExLnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTExCis3eDEzQi1JU084ODU5LTEzLnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTEzCis3eDEzQi1JU084ODU5LTE0LnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTE0Cis3eDEzQi1JU084ODU5LTE1LnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTE1Cis3eDEzQi1JU084ODU5LTE2LnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTE2Cis3eDEzQi1JU084ODU5LTIucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTcwLWlzbzg4NTktMgorN3gxM0ItSVNPODg1OS0zLnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTMKKzd4MTNCLUlTTzg4NTktNC5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtNzAtaXNvODg1OS00Cis3eDEzQi1JU084ODU5LTUucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTcwLWlzbzg4NTktNQorN3gxM0ItSVNPODg1OS03LnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTcKKzd4MTNCLUlTTzg4NTktOC5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtNzAtaXNvODg1OS04Cis3eDEzQi1JU084ODU5LTkucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTcwLWlzbzg4NTktOQorN3gxM0IucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTcwLWlzbzEwNjQ2LTEKKzd4MTNPLUlTTzg4NTktMS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTEKKzd4MTNPLUlTTzg4NTktMTAucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1vLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtNzAtaXNvODg1OS0xMAorN3gxM08tSVNPODg1OS0xMS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTExCis3eDEzTy1JU084ODU5LTEzLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tby1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTcwLWlzbzg4NTktMTMKKzd4MTNPLUlTTzg4NTktMTQucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1vLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtNzAtaXNvODg1OS0xNAorN3gxM08tSVNPODg1OS0xNS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTE1Cis3eDEzTy1JU084ODU5LTE2LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tby1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTcwLWlzbzg4NTktMTYKKzd4MTNPLUlTTzg4NTktMi5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTIKKzd4MTNPLUlTTzg4NTktMy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTMKKzd4MTNPLUlTTzg4NTktNC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTQKKzd4MTNPLUlTTzg4NTktNS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTUKKzd4MTNPLUlTTzg4NTktNy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTcKKzd4MTNPLUlTTzg4NTktOS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy03MC1pc284ODU5LTkKKzd4MTNPLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tby1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTcwLWlzbzEwNjQ2LTEKKzd4MTQtSVNPODg1OS0xLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE0LTEzMC03NS03NS1jLTcwLWlzbzg4NTktMQorN3gxNC1JU084ODU5LTEwLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE0LTEzMC03NS03NS1jLTcwLWlzbzg4NTktMTAKKzd4MTQtSVNPODg1OS0xMS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xNC0xMzAtNzUtNzUtYy03MC1pc284ODU5LTExCis3eDE0LUlTTzg4NTktMTMucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTQtMTMwLTc1LTc1LWMtNzAtaXNvODg1OS0xMworN3gxNC1JU084ODU5LTE0LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE0LTEzMC03NS03NS1jLTcwLWlzbzg4NTktMTQKKzd4MTQtSVNPODg1OS0xNS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xNC0xMzAtNzUtNzUtYy03MC1pc284ODU5LTE1Cis3eDE0LUlTTzg4NTktMTYucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTQtMTMwLTc1LTc1LWMtNzAtaXNvODg1OS0xNgorN3gxNC1JU084ODU5LTIucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTQtMTMwLTc1LTc1LWMtNzAtaXNvODg1OS0yCis3eDE0LUlTTzg4NTktMy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xNC0xMzAtNzUtNzUtYy03MC1pc284ODU5LTMKKzd4MTQtSVNPODg1OS00LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE0LTEzMC03NS03NS1jLTcwLWlzbzg4NTktNAorN3gxNC1JU084ODU5LTUucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTQtMTMwLTc1LTc1LWMtNzAtaXNvODg1OS01Cis3eDE0LUlTTzg4NTktNy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xNC0xMzAtNzUtNzUtYy03MC1pc284ODU5LTcKKzd4MTQtSVNPODg1OS04LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE0LTEzMC03NS03NS1jLTcwLWlzbzg4NTktOAorN3gxNC1JU084ODU5LTkucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTQtMTMwLTc1LTc1LWMtNzAtaXNvODg1OS05Cis3eDE0LUpJU1gwMjAxLjE5NzYtMC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xNC0xMzAtNzUtNzUtYy03MC1qaXN4MDIwMS4xOTc2LTAKKzd4MTQtS09JOC1SLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE0LTEzMC03NS03NS1jLTcwLWtvaTgtcgorN3gxNC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xNC0xMzAtNzUtNzUtYy03MC1pc28xMDY0Ni0xCis3eDE0Qi1JU084ODU5LTEucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1ub3JtYWwtLTE0LTEzMC03NS03NS1jLTcwLWlzbzg4NTktMQorN3gxNEItSVNPODg1OS0xMC5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTQtMTMwLTc1LTc1LWMtNzAtaXNvODg1OS0xMAorN3gxNEItSVNPODg1OS0xMS5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTQtMTMwLTc1LTc1LWMtNzAtaXNvODg1OS0xMQorN3gxNEItSVNPODg1OS0xMy5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTQtMTMwLTc1LTc1LWMtNzAtaXNvODg1OS0xMworN3gxNEItSVNPODg1OS0xNC5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTQtMTMwLTc1LTc1LWMtNzAtaXNvODg1OS0xNAorN3gxNEItSVNPODg1OS0xNS5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTQtMTMwLTc1LTc1LWMtNzAtaXNvODg1OS0xNQorN3gxNEItSVNPODg1OS0xNi5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTQtMTMwLTc1LTc1LWMtNzAtaXNvODg1OS0xNgorN3gxNEItSVNPODg1OS0yLnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xNC0xMzAtNzUtNzUtYy03MC1pc284ODU5LTIKKzd4MTRCLUlTTzg4NTktMy5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTQtMTMwLTc1LTc1LWMtNzAtaXNvODg1OS0zCis3eDE0Qi1JU084ODU5LTQucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1ub3JtYWwtLTE0LTEzMC03NS03NS1jLTcwLWlzbzg4NTktNAorN3gxNEItSVNPODg1OS01LnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xNC0xMzAtNzUtNzUtYy03MC1pc284ODU5LTUKKzd4MTRCLUlTTzg4NTktNy5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTQtMTMwLTc1LTc1LWMtNzAtaXNvODg1OS03Cis3eDE0Qi1JU084ODU5LTgucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1ub3JtYWwtLTE0LTEzMC03NS03NS1jLTcwLWlzbzg4NTktOAorN3gxNEItSVNPODg1OS05LnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xNC0xMzAtNzUtNzUtYy03MC1pc284ODU5LTkKKzd4MTRCLnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xNC0xMzAtNzUtNzUtYy03MC1pc28xMDY0Ni0xCis4eDEzLUlTTzg4NTktMS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy04MC1pc284ODU5LTEKKzh4MTMtSVNPODg1OS0xMC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy04MC1pc284ODU5LTEwCis4eDEzLUlTTzg4NTktMTMucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtODAtaXNvODg1OS0xMworOHgxMy1JU084ODU5LTE0LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTgwLWlzbzg4NTktMTQKKzh4MTMtSVNPODg1OS0xNS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy04MC1pc284ODU5LTE1Cis4eDEzLUlTTzg4NTktMTYucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtODAtaXNvODg1OS0xNgorOHgxMy1JU084ODU5LTIucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtODAtaXNvODg1OS0yCis4eDEzLUlTTzg4NTktMy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy04MC1pc284ODU5LTMKKzh4MTMtSVNPODg1OS00LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTgwLWlzbzg4NTktNAorOHgxMy1JU084ODU5LTUucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtODAtaXNvODg1OS01Cis4eDEzLUlTTzg4NTktNy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy04MC1pc284ODU5LTcKKzh4MTMtSVNPODg1OS04LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTgwLWlzbzg4NTktOAorOHgxMy1JU084ODU5LTkucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtODAtaXNvODg1OS05Cis4eDEzLUtPSTgtUi5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy04MC1rb2k4LXIKKzh4MTMucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtODAtaXNvMTA2NDYtMQorOHgxM0ItSVNPODg1OS0xLnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy04MC1pc284ODU5LTEKKzh4MTNCLUlTTzg4NTktMTAucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTgwLWlzbzg4NTktMTAKKzh4MTNCLUlTTzg4NTktMTMucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTgwLWlzbzg4NTktMTMKKzh4MTNCLUlTTzg4NTktMTQucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTgwLWlzbzg4NTktMTQKKzh4MTNCLUlTTzg4NTktMTUucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTgwLWlzbzg4NTktMTUKKzh4MTNCLUlTTzg4NTktMTYucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTgwLWlzbzg4NTktMTYKKzh4MTNCLUlTTzg4NTktMi5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtODAtaXNvODg1OS0yCis4eDEzQi1JU084ODU5LTMucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTgwLWlzbzg4NTktMworOHgxM0ItSVNPODg1OS00LnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy04MC1pc284ODU5LTQKKzh4MTNCLUlTTzg4NTktNS5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtODAtaXNvODg1OS01Cis4eDEzQi1JU084ODU5LTcucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTgwLWlzbzg4NTktNworOHgxM0ItSVNPODg1OS04LnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy04MC1pc284ODU5LTgKKzh4MTNCLUlTTzg4NTktOS5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtODAtaXNvODg1OS05Cis4eDEzQi5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtODAtaXNvMTA2NDYtMQorOHgxM08tSVNPODg1OS0xLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tby1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTgwLWlzbzg4NTktMQorOHgxM08tSVNPODg1OS0xMC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy04MC1pc284ODU5LTEwCis4eDEzTy1JU084ODU5LTEzLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tby1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTgwLWlzbzg4NTktMTMKKzh4MTNPLUlTTzg4NTktMTQucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1vLW5vcm1hbC0tMTMtMTIwLTc1LTc1LWMtODAtaXNvODg1OS0xNAorOHgxM08tSVNPODg1OS0xNS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy04MC1pc284ODU5LTE1Cis4eDEzTy1JU084ODU5LTE2LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tby1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTgwLWlzbzg4NTktMTYKKzh4MTNPLUlTTzg4NTktMi5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy04MC1pc284ODU5LTIKKzh4MTNPLUlTTzg4NTktMy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy04MC1pc284ODU5LTMKKzh4MTNPLUlTTzg4NTktNC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy04MC1pc284ODU5LTQKKzh4MTNPLUlTTzg4NTktNS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy04MC1pc284ODU5LTUKKzh4MTNPLUlTTzg4NTktNy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy04MC1pc284ODU5LTcKKzh4MTNPLUlTTzg4NTktOS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLW8tbm9ybWFsLS0xMy0xMjAtNzUtNzUtYy04MC1pc284ODU5LTkKKzh4MTNPLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tby1ub3JtYWwtLTEzLTEyMC03NS03NS1jLTgwLWlzbzEwNjQ2LTEKKzh4MTYucGNmLmd6IC1zb255LWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTYtMTIwLTEwMC0xMDAtYy04MC1pc284ODU5LTEKKzh4MTZyay5wY2YuZ3ogLXNvbnktZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xNi0xMjAtMTAwLTEwMC1jLTgwLWppc3gwMjAxLjE5NzYtMAorOXgxNS1JU084ODU5LTEucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTUtMTQwLTc1LTc1LWMtOTAtaXNvODg1OS0xCis5eDE1LUlTTzg4NTktMTAucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTUtMTQwLTc1LTc1LWMtOTAtaXNvODg1OS0xMAorOXgxNS1JU084ODU5LTExLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE1LTE0MC03NS03NS1jLTkwLWlzbzg4NTktMTEKKzl4MTUtSVNPODg1OS0xMy5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xNS0xNDAtNzUtNzUtYy05MC1pc284ODU5LTEzCis5eDE1LUlTTzg4NTktMTQucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTUtMTQwLTc1LTc1LWMtOTAtaXNvODg1OS0xNAorOXgxNS1JU084ODU5LTE1LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE1LTE0MC03NS03NS1jLTkwLWlzbzg4NTktMTUKKzl4MTUtSVNPODg1OS0xNi5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xNS0xNDAtNzUtNzUtYy05MC1pc284ODU5LTE2Cis5eDE1LUlTTzg4NTktMi5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xNS0xNDAtNzUtNzUtYy05MC1pc284ODU5LTIKKzl4MTUtSVNPODg1OS0zLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE1LTE0MC03NS03NS1jLTkwLWlzbzg4NTktMworOXgxNS1JU084ODU5LTQucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTUtMTQwLTc1LTc1LWMtOTAtaXNvODg1OS00Cis5eDE1LUlTTzg4NTktNS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xNS0xNDAtNzUtNzUtYy05MC1pc284ODU5LTUKKzl4MTUtSVNPODg1OS03LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE1LTE0MC03NS03NS1jLTkwLWlzbzg4NTktNworOXgxNS1JU084ODU5LTgucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTUtMTQwLTc1LTc1LWMtOTAtaXNvODg1OS04Cis5eDE1LUlTTzg4NTktOS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xNS0xNDAtNzUtNzUtYy05MC1pc284ODU5LTkKKzl4MTUtS09JOC1SLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE1LTE0MC03NS03NS1jLTkwLWtvaTgtcgorOXgxNS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xNS0xNDAtNzUtNzUtYy05MC1pc28xMDY0Ni0xCis5eDE1Qi1JU084ODU5LTEucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1ub3JtYWwtLTE1LTE0MC03NS03NS1jLTkwLWlzbzg4NTktMQorOXgxNUItSVNPODg1OS0xMC5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTUtMTQwLTc1LTc1LWMtOTAtaXNvODg1OS0xMAorOXgxNUItSVNPODg1OS0xMS5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTUtMTQwLTc1LTc1LWMtOTAtaXNvODg1OS0xMQorOXgxNUItSVNPODg1OS0xMy5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTUtMTQwLTc1LTc1LWMtOTAtaXNvODg1OS0xMworOXgxNUItSVNPODg1OS0xNC5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTUtMTQwLTc1LTc1LWMtOTAtaXNvODg1OS0xNAorOXgxNUItSVNPODg1OS0xNS5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTUtMTQwLTc1LTc1LWMtOTAtaXNvODg1OS0xNQorOXgxNUItSVNPODg1OS0xNi5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTUtMTQwLTc1LTc1LWMtOTAtaXNvODg1OS0xNgorOXgxNUItSVNPODg1OS0yLnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xNS0xNDAtNzUtNzUtYy05MC1pc284ODU5LTIKKzl4MTVCLUlTTzg4NTktMy5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTUtMTQwLTc1LTc1LWMtOTAtaXNvODg1OS0zCis5eDE1Qi1JU084ODU5LTQucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1ub3JtYWwtLTE1LTE0MC03NS03NS1jLTkwLWlzbzg4NTktNAorOXgxNUItSVNPODg1OS01LnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xNS0xNDAtNzUtNzUtYy05MC1pc284ODU5LTUKKzl4MTVCLUlTTzg4NTktNy5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTUtMTQwLTc1LTc1LWMtOTAtaXNvODg1OS03Cis5eDE1Qi1JU084ODU5LTgucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1ub3JtYWwtLTE1LTE0MC03NS03NS1jLTkwLWlzbzg4NTktOAorOXgxNUItSVNPODg1OS05LnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xNS0xNDAtNzUtNzUtYy05MC1pc284ODU5LTkKKzl4MTVCLnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xNS0xNDAtNzUtNzUtYy05MC1pc28xMDY0Ni0xCis5eDE4LUlTTzg4NTktMS5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xOC0xMjAtMTAwLTEwMC1jLTkwLWlzbzg4NTktMQorOXgxOC1JU084ODU5LTEwLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE4LTEyMC0xMDAtMTAwLWMtOTAtaXNvODg1OS0xMAorOXgxOC1JU084ODU5LTExLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE4LTEyMC0xMDAtMTAwLWMtOTAtaXNvODg1OS0xMQorOXgxOC1JU084ODU5LTEzLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE4LTEyMC0xMDAtMTAwLWMtOTAtaXNvODg1OS0xMworOXgxOC1JU084ODU5LTE0LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE4LTEyMC0xMDAtMTAwLWMtOTAtaXNvODg1OS0xNAorOXgxOC1JU084ODU5LTE1LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE4LTEyMC0xMDAtMTAwLWMtOTAtaXNvODg1OS0xNQorOXgxOC1JU084ODU5LTE2LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE4LTEyMC0xMDAtMTAwLWMtOTAtaXNvODg1OS0xNgorOXgxOC1JU084ODU5LTIucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTgtMTIwLTEwMC0xMDAtYy05MC1pc284ODU5LTIKKzl4MTgtSVNPODg1OS0zLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE4LTEyMC0xMDAtMTAwLWMtOTAtaXNvODg1OS0zCis5eDE4LUlTTzg4NTktNC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xOC0xMjAtMTAwLTEwMC1jLTkwLWlzbzg4NTktNAorOXgxOC1JU084ODU5LTUucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTgtMTIwLTEwMC0xMDAtYy05MC1pc284ODU5LTUKKzl4MTgtSVNPODg1OS03LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE4LTEyMC0xMDAtMTAwLWMtOTAtaXNvODg1OS03Cis5eDE4LUlTTzg4NTktOC5wY2YuZ3ogLW1pc2MtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0xOC0xMjAtMTAwLTEwMC1jLTkwLWlzbzg4NTktOAorOXgxOC1JU084ODU5LTkucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTgtMTIwLTEwMC0xMDAtYy05MC1pc284ODU5LTkKKzl4MTgtS09JOC1SLnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE4LTEyMC0xMDAtMTAwLWMtOTAta29pOC1yCis5eDE4LnBjZi5neiAtbWlzYy1maXhlZC1tZWRpdW0tci1ub3JtYWwtLTE4LTEyMC0xMDAtMTAwLWMtOTAtaXNvMTA2NDYtMQorOXgxOEItSVNPODg1OS0xLnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xOC0xMjAtMTAwLTEwMC1jLTkwLWlzbzg4NTktMQorOXgxOEItSVNPODg1OS0xMC5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTgtMTIwLTEwMC0xMDAtYy05MC1pc284ODU5LTEwCis5eDE4Qi1JU084ODU5LTEzLnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xOC0xMjAtMTAwLTEwMC1jLTkwLWlzbzg4NTktMTMKKzl4MThCLUlTTzg4NTktMTQucGNmLmd6IC1taXNjLWZpeGVkLWJvbGQtci1ub3JtYWwtLTE4LTEyMC0xMDAtMTAwLWMtOTAtaXNvODg1OS0xNAorOXgxOEItSVNPODg1OS0xNS5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTgtMTIwLTEwMC0xMDAtYy05MC1pc284ODU5LTE1Cis5eDE4Qi1JU084ODU5LTE2LnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xOC0xMjAtMTAwLTEwMC1jLTkwLWlzbzg4NTktMTYKKzl4MThCLUlTTzg4NTktMi5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTgtMTIwLTEwMC0xMDAtYy05MC1pc284ODU5LTIKKzl4MThCLUlTTzg4NTktMy5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTgtMTIwLTEwMC0xMDAtYy05MC1pc284ODU5LTMKKzl4MThCLUlTTzg4NTktNC5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTgtMTIwLTEwMC0xMDAtYy05MC1pc284ODU5LTQKKzl4MThCLUlTTzg4NTktNS5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTgtMTIwLTEwMC0xMDAtYy05MC1pc284ODU5LTUKKzl4MThCLUlTTzg4NTktNy5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTgtMTIwLTEwMC0xMDAtYy05MC1pc284ODU5LTcKKzl4MThCLUlTTzg4NTktOC5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTgtMTIwLTEwMC0xMDAtYy05MC1pc284ODU5LTgKKzl4MThCLUlTTzg4NTktOS5wY2YuZ3ogLW1pc2MtZml4ZWQtYm9sZC1yLW5vcm1hbC0tMTgtMTIwLTEwMC0xMDAtYy05MC1pc284ODU5LTkKKzl4MThCLnBjZi5neiAtbWlzYy1maXhlZC1ib2xkLXItbm9ybWFsLS0xOC0xMjAtMTAwLTEwMC1jLTkwLWlzbzEwNjQ2LTEKK2FyYWJpYzI0LnBjZi5neiAtYXJhYmljLW5ld3NwYXBlci1tZWRpdW0tci1ub3JtYWwtLTMyLTI0Ni0xMDAtMTAwLXAtMTM3LWlzbzEwNjQ2LTEKK2NsQjZ4MTAucGNmLmd6IC1zY2h1bWFjaGVyLWNsZWFuLWJvbGQtci1ub3JtYWwtLTEwLTEwMC03NS03NS1jLTYwLWlzbzY0Ni4xOTkxLWlydgorY2xCNngxMi5wY2YuZ3ogLXNjaHVtYWNoZXItY2xlYW4tYm9sZC1yLW5vcm1hbC0tMTItMTIwLTc1LTc1LWMtNjAtaXNvNjQ2LjE5OTEtaXJ2CitjbEI4eDEwLnBjZi5neiAtc2NodW1hY2hlci1jbGVhbi1ib2xkLXItbm9ybWFsLS0xMC0xMDAtNzUtNzUtYy04MC1pc282NDYuMTk5MS1pcnYKK2NsQjh4MTIucGNmLmd6IC1zY2h1bWFjaGVyLWNsZWFuLWJvbGQtci1ub3JtYWwtLTEyLTEyMC03NS03NS1jLTgwLWlzbzY0Ni4xOTkxLWlydgorY2xCOHgxMy5wY2YuZ3ogLXNjaHVtYWNoZXItY2xlYW4tYm9sZC1yLW5vcm1hbC0tMTMtMTMwLTc1LTc1LWMtODAtaXNvNjQ2LjE5OTEtaXJ2CitjbEI4eDE0LnBjZi5neiAtc2NodW1hY2hlci1jbGVhbi1ib2xkLXItbm9ybWFsLS0xNC0xNDAtNzUtNzUtYy04MC1pc282NDYuMTk5MS1pcnYKK2NsQjh4MTYucGNmLmd6IC1zY2h1bWFjaGVyLWNsZWFuLWJvbGQtci1ub3JtYWwtLTE2LTE2MC03NS03NS1jLTgwLWlzbzY0Ni4xOTkxLWlydgorY2xCOHg4LnBjZi5neiAtc2NodW1hY2hlci1jbGVhbi1ib2xkLXItbm9ybWFsLS04LTgwLTc1LTc1LWMtODAtaXNvNjQ2LjE5OTEtaXJ2CitjbEI5eDE1LnBjZi5neiAtc2NodW1hY2hlci1jbGVhbi1ib2xkLXItbm9ybWFsLS0xNS0xNTAtNzUtNzUtYy05MC1pc282NDYuMTk5MS1pcnYKK2NsSTZ4MTIucGNmLmd6IC1zY2h1bWFjaGVyLWNsZWFuLW1lZGl1bS1pLW5vcm1hbC0tMTItMTIwLTc1LTc1LWMtNjAtaXNvNjQ2LjE5OTEtaXJ2CitjbEk4eDgucGNmLmd6IC1zY2h1bWFjaGVyLWNsZWFuLW1lZGl1bS1pLW5vcm1hbC0tOC04MC03NS03NS1jLTgwLWlzbzY0Ni4xOTkxLWlydgorY2xSNHg2LnBjZi5neiAtc2NodW1hY2hlci1jbGVhbi1tZWRpdW0tci1ub3JtYWwtLTYtNjAtNzUtNzUtYy00MC1pc282NDYuMTk5MS1pcnYKK2NsUjV4MTAucGNmLmd6IC1zY2h1bWFjaGVyLWNsZWFuLW1lZGl1bS1yLW5vcm1hbC0tMTAtMTAwLTc1LTc1LWMtNTAtaXNvNjQ2LjE5OTEtaXJ2CitjbFI1eDYucGNmLmd6IC1zY2h1bWFjaGVyLWNsZWFuLW1lZGl1bS1yLW5vcm1hbC0tNi02MC03NS03NS1jLTUwLWlzbzY0Ni4xOTkxLWlydgorY2xSNXg4LnBjZi5neiAtc2NodW1hY2hlci1jbGVhbi1tZWRpdW0tci1ub3JtYWwtLTgtODAtNzUtNzUtYy01MC1pc282NDYuMTk5MS1pcnYKK2NsUjZ4MTAucGNmLmd6IC1zY2h1bWFjaGVyLWNsZWFuLW1lZGl1bS1yLW5vcm1hbC0tMTAtMTAwLTc1LTc1LWMtNjAtaXNvNjQ2LjE5OTEtaXJ2CitjbFI2eDEyLUlTTzg4NTktMS5wY2YuZ3ogLXNjaHVtYWNoZXItY2xlYW4tbWVkaXVtLXItbm9ybWFsLS0xMi0xMjAtNzUtNzUtYy02MC1pc284ODU5LTEKK2NsUjZ4MTItSVNPODg1OS0xMC5wY2YuZ3ogLXNjaHVtYWNoZXItY2xlYW4tbWVkaXVtLXItbm9ybWFsLS0xMi0xMjAtNzUtNzUtYy02MC1pc284ODU5LTEwCitjbFI2eDEyLUlTTzg4NTktMTMucGNmLmd6IC1zY2h1bWFjaGVyLWNsZWFuLW1lZGl1bS1yLW5vcm1hbC0tMTItMTIwLTc1LTc1LWMtNjAtaXNvODg1OS0xMworY2xSNngxMi1JU084ODU5LTE0LnBjZi5neiAtc2NodW1hY2hlci1jbGVhbi1tZWRpdW0tci1ub3JtYWwtLTEyLTEyMC03NS03NS1jLTYwLWlzbzg4NTktMTQKK2NsUjZ4MTItSVNPODg1OS0xNS5wY2YuZ3ogLXNjaHVtYWNoZXItY2xlYW4tbWVkaXVtLXItbm9ybWFsLS0xMi0xMjAtNzUtNzUtYy02MC1pc284ODU5LTE1CitjbFI2eDEyLUlTTzg4NTktMTYucGNmLmd6IC1zY2h1bWFjaGVyLWNsZWFuLW1lZGl1bS1yLW5vcm1hbC0tMTItMTIwLTc1LTc1LWMtNjAtaXNvODg1OS0xNgorY2xSNngxMi1JU084ODU5LTIucGNmLmd6IC1zY2h1bWFjaGVyLWNsZWFuLW1lZGl1bS1yLW5vcm1hbC0tMTItMTIwLTc1LTc1LWMtNjAtaXNvODg1OS0yCitjbFI2eDEyLUlTTzg4NTktMy5wY2YuZ3ogLXNjaHVtYWNoZXItY2xlYW4tbWVkaXVtLXItbm9ybWFsLS0xMi0xMjAtNzUtNzUtYy02MC1pc284ODU5LTMKK2NsUjZ4MTItSVNPODg1OS00LnBjZi5neiAtc2NodW1hY2hlci1jbGVhbi1tZWRpdW0tci1ub3JtYWwtLTEyLTEyMC03NS03NS1jLTYwLWlzbzg4NTktNAorY2xSNngxMi1JU084ODU5LTUucGNmLmd6IC1zY2h1bWFjaGVyLWNsZWFuLW1lZGl1bS1yLW5vcm1hbC0tMTItMTIwLTc1LTc1LWMtNjAtaXNvODg1OS01CitjbFI2eDEyLUlTTzg4NTktNy5wY2YuZ3ogLXNjaHVtYWNoZXItY2xlYW4tbWVkaXVtLXItbm9ybWFsLS0xMi0xMjAtNzUtNzUtYy02MC1pc284ODU5LTcKK2NsUjZ4MTItSVNPODg1OS04LnBjZi5neiAtc2NodW1hY2hlci1jbGVhbi1tZWRpdW0tci1ub3JtYWwtLTEyLTEyMC03NS03NS1jLTYwLWlzbzg4NTktOAorY2xSNngxMi1JU084ODU5LTkucGNmLmd6IC1zY2h1bWFjaGVyLWNsZWFuLW1lZGl1bS1yLW5vcm1hbC0tMTItMTIwLTc1LTc1LWMtNjAtaXNvODg1OS05CitjbFI2eDEyLUtPSTgtUi5wY2YuZ3ogLXNjaHVtYWNoZXItY2xlYW4tbWVkaXVtLXItbm9ybWFsLS0xMi0xMjAtNzUtNzUtYy02MC1rb2k4LXIKK2NsUjZ4MTIucGNmLmd6IC1zY2h1bWFjaGVyLWNsZWFuLW1lZGl1bS1yLW5vcm1hbC0tMTItMTIwLTc1LTc1LWMtNjAtaXNvMTA2NDYtMQorY2xSNngxMy5wY2YuZ3ogLXNjaHVtYWNoZXItY2xlYW4tbWVkaXVtLXItbm9ybWFsLS0xMy0xMzAtNzUtNzUtYy02MC1pc282NDYuMTk5MS1pcnYKK2NsUjZ4Ni5wY2YuZ3ogLXNjaHVtYWNoZXItY2xlYW4tbWVkaXVtLXItbm9ybWFsLS02LTYwLTc1LTc1LWMtNjAtaXNvNjQ2LjE5OTEtaXJ2CitjbFI2eDgucGNmLmd6IC1zY2h1bWFjaGVyLWNsZWFuLW1lZGl1bS1yLW5vcm1hbC0tOC04MC03NS03NS1jLTYwLWlzbzY0Ni4xOTkxLWlydgorY2xSN3gxMC5wY2YuZ3ogLXNjaHVtYWNoZXItY2xlYW4tbWVkaXVtLXItbm9ybWFsLS0xMC0xMDAtNzUtNzUtYy03MC1pc282NDYuMTk5MS1pcnYKK2NsUjd4MTIucGNmLmd6IC1zY2h1bWFjaGVyLWNsZWFuLW1lZGl1bS1yLW5vcm1hbC0tMTItMTIwLTc1LTc1LWMtNzAtaXNvNjQ2LjE5OTEtaXJ2CitjbFI3eDE0LnBjZi5neiAtc2NodW1hY2hlci1jbGVhbi1tZWRpdW0tci1ub3JtYWwtLTE0LTE0MC03NS03NS1jLTcwLWlzbzY0Ni4xOTkxLWlydgorY2xSN3g4LnBjZi5neiAtc2NodW1hY2hlci1jbGVhbi1tZWRpdW0tci1ub3JtYWwtLTgtODAtNzUtNzUtYy03MC1pc282NDYuMTk5MS1pcnYKK2NsUjh4MTAucGNmLmd6IC1zY2h1bWFjaGVyLWNsZWFuLW1lZGl1bS1yLW5vcm1hbC0tMTAtMTAwLTc1LTc1LWMtODAtaXNvNjQ2LjE5OTEtaXJ2CitjbFI4eDEyLnBjZi5neiAtc2NodW1hY2hlci1jbGVhbi1tZWRpdW0tci1ub3JtYWwtLTEyLTEyMC03NS03NS1jLTgwLWlzbzY0Ni4xOTkxLWlydgorY2xSOHgxMy5wY2YuZ3ogLXNjaHVtYWNoZXItY2xlYW4tbWVkaXVtLXItbm9ybWFsLS0xMy0xMzAtNzUtNzUtYy04MC1pc282NDYuMTk5MS1pcnYKK2NsUjh4MTQucGNmLmd6IC1zY2h1bWFjaGVyLWNsZWFuLW1lZGl1bS1yLW5vcm1hbC0tMTQtMTQwLTc1LTc1LWMtODAtaXNvNjQ2LjE5OTEtaXJ2CitjbFI4eDE2LnBjZi5neiAtc2NodW1hY2hlci1jbGVhbi1tZWRpdW0tci1ub3JtYWwtLTE2LTE2MC03NS03NS1jLTgwLWlzbzY0Ni4xOTkxLWlydgorY2xSOHg4LnBjZi5neiAtc2NodW1hY2hlci1jbGVhbi1tZWRpdW0tci1ub3JtYWwtLTgtODAtNzUtNzUtYy04MC1pc282NDYuMTk5MS1pcnYKK2NsUjl4MTUucGNmLmd6IC1zY2h1bWFjaGVyLWNsZWFuLW1lZGl1bS1yLW5vcm1hbC0tMTUtMTUwLTc1LTc1LWMtOTAtaXNvNjQ2LjE5OTEtaXJ2CitjdS1hbHQxMi5wY2YuZ3ogLW11dHQtY2xlYXJseXUgYWx0ZXJuYXRlIGdseXBocy1tZWRpdW0tci1ub3JtYWwtLTE3LTEyMC0xMDAtMTAwLXAtMTIyLWlzbzEwNjQ2LTEKK2N1LWFyYWJpYzEyLnBjZi5neiAtbXV0dC1jbGVhcmx5dSBhcmFiaWMgZXh0cmEtbWVkaXVtLXItbm9ybWFsLS0xNy0xMjAtMTAwLTEwMC1wLTEwMS1mb250c3BlY2lmaWMtMAorY3UtZGV2bmFnMTIucGNmLmd6IC1tdXR0LWNsZWFybHl1IGRldmFuZ2FyaSBleHRyYS1tZWRpdW0tci1ub3JtYWwtLTE3LTEyMC0xMDAtMTAwLXAtMTA1LWZvbnRzcGVjaWZpYy0wCitjdS1saWcxMi5wY2YuZ3ogLW11dHQtY2xlYXJseXUgbGlnYXR1cmUtbWVkaXVtLXItbm9ybWFsLS0xNy0xMjAtMTAwLTEwMC1wLTE0MS1mb250c3BlY2lmaWMtMAorY3UtcHVhMTIucGNmLmd6IC1tdXR0LWNsZWFybHl1IHB1YS1tZWRpdW0tci1ub3JtYWwtLTE3LTEyMC0xMDAtMTAwLXAtMTEwLWlzbzEwNjQ2LTEKK2N1MTIucGNmLmd6IC1tdXR0LWNsZWFybHl1LW1lZGl1bS1yLW5vcm1hbC0tMTctMTIwLTEwMC0xMDAtcC0xMjMtaXNvMTA2NDYtMQorY3VhcmFiaWMxMi5wY2YuZ3ogLW11dHQtY2xlYXJseXUgYXJhYmljLW1lZGl1bS1yLW5vcm1hbC0tMTctMTIwLTEwMC0xMDAtcC05My1pc28xMDY0Ni0xCitjdWRldm5hZzEyLnBjZi5neiAtbXV0dC1jbGVhcmx5dSBkZXZhbmFnYXJpLW1lZGl1bS1yLW5vcm1hbC0tMTUtMTIwLTkwLTkwLXAtMTA0LWZvbnRzcGVjaWZpYy0wCitjdXJzb3IucGNmLmd6IGN1cnNvcgorZGVjY3Vycy5wY2YuZ3ogZGVjdyRjdXJzb3IKK2RlY3Nlc3MucGNmLmd6IGRlY3ckc2Vzc2lvbgorZ2IxNmZzLnBjZi5neiAtaXNhcy1mYW5nc29uZyB0aS1tZWRpdW0tci1ub3JtYWwtLTE2LTE2MC03Mi03Mi1jLTE2MC1nYjIzMTIuMTk4MC0wCitnYjE2c3QucGNmLmd6IC1pc2FzLXNvbmcgdGktbWVkaXVtLXItbm9ybWFsLS0xNi0xNjAtNzItNzItYy0xNjAtZ2IyMzEyLjE5ODAtMAorZ2IyNHN0LnBjZi5neiAtaXNhcy1zb25nIHRpLW1lZGl1bS1yLW5vcm1hbC0tMjQtMjQwLTcyLTcyLWMtMjQwLWdiMjMxMi4xOTgwLTAKK2hhbmdsZzE2LnBjZi5neiAtZGFld29vLWdvdGhpYy1tZWRpdW0tci1ub3JtYWwtLTE2LTEyMC0xMDAtMTAwLWMtMTYwLWtzYzU2MDEuMTk4Ny0wCitoYW5nbG0xNi5wY2YuZ3ogLWRhZXdvby1taW5jaG8tbWVkaXVtLXItbm9ybWFsLS0xNi0xMjAtMTAwLTEwMC1jLTE2MC1rc2M1NjAxLjE5ODctMAoraGFuZ2xtMjQucGNmLmd6IC1kYWV3b28tbWluY2hvLW1lZGl1bS1yLW5vcm1hbC0tMjQtMTcwLTEwMC0xMDAtYy0yNDAta3NjNTYwMS4xOTg3LTAKK2ppc2thbjE2LnBjZi5neiAtamlzLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTYtMTUwLTc1LTc1LWMtMTYwLWppc3gwMjA4LjE5ODMtMAoramlza2FuMjQucGNmLmd6IC1qaXMtZml4ZWQtbWVkaXVtLXItbm9ybWFsLS0yNC0yMzAtNzUtNzUtYy0yNDAtamlzeDAyMDguMTk4My0wCitrMTQucGNmLmd6IC1taXNjLWZpeGVkLW1lZGl1bS1yLW5vcm1hbC0tMTQtMTMwLTc1LTc1LWMtMTQwLWppc3gwMjA4LjE5ODMtMAorbWljcm8ucGNmLmd6IG1pY3JvCituaWwyLnBjZi5neiAtbWlzYy1uaWwtbWVkaXVtLXItbm9ybWFsLS0yLTIwLTc1LTc1LWMtMTAtbWlzYy1mb250c3BlY2lmaWMKK29sY3Vyc29yLnBjZi5neiAtc3VuLW9wZW4gbG9vayBjdXJzb3ItLS0tLTEyLTEyMC03NS03NS1wLTE2MC1zdW5vbGN1cnNvci0xCitvbGdsMTAucGNmLmd6IC1zdW4tb3BlbiBsb29rIGdseXBoLS0tLS0xMC0xMDAtNzUtNzUtcC0xMDEtc3Vub2xnbHlwaC0xCitvbGdsMTIucGNmLmd6IC1zdW4tb3BlbiBsb29rIGdseXBoLS0tLS0xMi0xMjAtNzUtNzUtcC0xMTMtc3Vub2xnbHlwaC0xCitvbGdsMTQucGNmLmd6IC1zdW4tb3BlbiBsb29rIGdseXBoLS0tLS0xNC0xNDAtNzUtNzUtcC0xMjgtc3Vub2xnbHlwaC0xCitvbGdsMTkucGNmLmd6IC1zdW4tb3BlbiBsb29rIGdseXBoLS0tLS0xOS0xOTAtNzUtNzUtcC0xNTQtc3Vub2xnbHlwaC0xCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGliZG14XzEuMS4zLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYmRteF8xLjEuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjIzY2VlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYmRteF8xLjEuMy5iYgpAQCAtMCwwICsxLDIwIEBACityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJETVg6IERpc3RyaWJ1dGVkIE11bHRpaGVhZCBYIGV4dGVuc2lvbiBsaWJyYXJ5IgorCitERVNDUklQVElPTiA9ICJUaGUgRE1YIGV4dGVuc2lvbiBwcm92aWRlcyBzdXBwb3J0IGZvciBjb21tdW5pY2F0aW9uIHdpdGggXAorYW5kIGNvbnRyb2wgb2YgWGRteCgxKSBzZXJ2ZXIuIEF0dHJpYnV0ZXMgb2YgdGhlIFhkbXgoMSkgc2VydmVyIGFuZCBvZiBcCit0aGUgYmFjay1lbmQgc2NyZWVucyBhdHRhY2hlZCB0byB0aGUgc2VydmVyIGNhbiBiZSBxdWVyaWVkIGFuZCBtb2RpZmllZCBcCit2aWEgdGhpcyBwcm90b2NvbC4iCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTNjMzQ5OTIzMWE4MDM1ZWZkMGUwMDRjZmJkM2I3MmEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2RteC5jO2VuZGxpbmU9MzM7bWQ1PWM0M2YxOWFmMDNjN2M4NjE5Y2FkYzk3MjRlZDlhZmUxIgorCitERVBFTkRTICs9ICJsaWJ4ZXh0IGRteHByb3RvIgorCitQRSA9ICIxIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYmE5ODNlYmE1YTlmMDVkMTUyYTA3MjViOGU4NjMxNTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzk3ZGEzNmQyZTU2YTJkN2I2ZTRmODk2MjQxNzg1YWNjOTVlOTdlYjk1NTc0NjVmZDY2YmEyYTE1NWE3YjIwMSIKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYmZvbnRlbmNfMS4xLjMuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGliZm9udGVuY18xLjEuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTgxZjA1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYmZvbnRlbmNfMS4xLjMuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJYIGZvbnQgZW5jb2RpbmcgbGlicmFyeSIKKworREVTQ1JJUFRJT04gPSAibGliZm9udGVuYyBpcyBhIGxpYnJhcnkgd2hpY2ggaGVscHMgZm9udCBsaWJyYXJpZXMgXAorcG9ydGFibHkgZGV0ZXJtaW5lIGFuZCBkZWFsIHdpdGggZGlmZmVyZW50IGVuY29kaW5ncyBvZiBmb250cy4iCisKK3JlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYworCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk2MjU0YzIwYWI4MWM2M2U2NWIyNmYwZGJjZDRhMWMxIgorCitERVBFTkRTICs9ICJ6bGliIHhwcm90byBmb250LXV0aWwiCitQRSA9ICIxIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjA5MjA5MjRjM2E5ZWJjMTI2NTUxN2JkZDJmOWZkZTUwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjcwNTg4OTMwZTZmYzk1NDJmZjM4ZTA4ODQ3NzhmYmM2ZTZmZWJmMjFhZGJhYjkyZmQ4ZjUyNGZlNjBhZWZkMjEiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGliaWNlXzEuMC45LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYmljZV8xLjAuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDQ5YjdlCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYmljZV8xLjAuOS5iYgpAQCAtMCwwICsxLDI3IEBACitTVU1NQVJZID0gIklDRTogSW50ZXItQ2xpZW50IEV4Y2hhbmdlIGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gIlRoZSBJbnRlci1DbGllbnQgRXhjaGFuZ2UgKElDRSkgcHJvdG9jb2wgcHJvdmlkZXMgYSBcCitnZW5lcmljIGZyYW1ld29yayBmb3IgYnVpbGRpbmcgcHJvdG9jb2xzIG9uIHRvcCBvZiByZWxpYWJsZSwgYnl0ZS1zdHJlYW0gXAordHJhbnNwb3J0IGNvbm5lY3Rpb25zLiBJdCBwcm92aWRlcyBiYXNpYyBtZWNoYW5pc21zIGZvciBzZXR0aW5nIHVwIGFuZCBcCitzaHV0dGluZyBkb3duIGNvbm5lY3Rpb25zLCBmb3IgcGVyZm9ybWluZyBhdXRoZW50aWNhdGlvbiwgZm9yIFwKK25lZ290aWF0aW5nIHZlcnNpb25zLCBhbmQgZm9yIHJlcG9ydGluZyBlcnJvcnMuICIKKworcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCisKK0xJQ0VOU0UgPSAiTUlULXN0eWxlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDE2MmIxYjNjNmZhODEyZGE5ZDgwNGRjZjg1ODRhOTMiCisKK0RFUEVORFMgKz0gInhwcm90byB4dHJhbnMiCitQUk9WSURFUyA9ICJpY2UiCisKK1BFID0gIjEiCisKK1hPUkdfUE4gPSAibGliSUNFIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworU1JDX1VSSVttZDVzdW1dID0gImFkZGZiMWU4OTdjYTgwNzk1MzE2NjljN2M3NzExNzI2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjhmNzAzMmYyYzFjNjQzNTJiNTQyM2Y2YjQ4YThlYmRjMzM5Y2M2MzA2NGFmMzRkNjZhNmM5YWE3OTc1OWUyMDIiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW2FyYzRdID0gImFjX2N2X2xpYl9ic2RfYXJjNHJhbmRvbV9idWY9eWVzLGFjX2N2X2xpYl9ic2RfYXJjNHJhbmRvbV9idWY9bm8sbGliYnNkIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnBjaWFjY2Vzcy8wMDAxLUluY2x1ZGUtY29uZmlnLmgtYmVmb3JlLWFueXRoaW5nLWVsc2UtaW4tLmMucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlicGNpYWNjZXNzLzAwMDEtSW5jbHVkZS1jb25maWcuaC1iZWZvcmUtYW55dGhpbmctZWxzZS1pbi0uYy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTJmYzBkCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnBjaWFjY2Vzcy8wMDAxLUluY2x1ZGUtY29uZmlnLmgtYmVmb3JlLWFueXRoaW5nLWVsc2UtaW4tLmMucGF0Y2gKQEAgLTAsMCArMSwxODcgQEAKK0Zyb20gYjE0Njk2YTU1Nzk2ZTczOTYyNGJiZGE0Zjc3MjQyNzAzMmVmZmYyYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEp1bGllbiBDcmlzdGF1IDxqY3Jpc3RhdUBkZWJpYW4ub3JnPgorRGF0ZTogU3VuLCAyNiBBcHIgMjAxNSAxNToyMDo1NyArMDIwMAorU3ViamVjdDogW1BBVENIIDEvNF0gSW5jbHVkZSBjb25maWcuaCBiZWZvcmUgYW55dGhpbmcgZWxzZSBpbiAqLmMKKworRGViaWFuIGJ1ZyM3NDkwMDggPGh0dHBzOi8vYnVncy5kZWJpYW4ub3JnLzc0OTAwOD4KKworUmVwb3J0ZWQtYnk6IE1pY2hhZWwgVGF1dHNjaG5pZyA8bXRAZGViaWFuLm9yZz4KK1NpZ25lZC1vZmYtYnk6IEp1bGllbiBDcmlzdGF1IDxqY3Jpc3RhdUBkZWJpYW4ub3JnPgorUmV2aWV3ZWQtYnk6IEFsYW4gQ29vcGVyc21pdGggPGFsYW4uY29vcGVyc21pdGhAb3JhY2xlLmNvbT4KKy0tLQorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCisgc3JjL2NvbW1vbl9jYXBhYmlsaXR5LmMgIHwgMyArKysKKyBzcmMvY29tbW9uX2luaXQuYyAgICAgICAgfCAzICsrKworIHNyYy9jb21tb25faW50ZXJmYWNlLmMgICB8IDMgKysrCisgc3JjL2NvbW1vbl9pby5jICAgICAgICAgIHwgMyArKysKKyBzcmMvY29tbW9uX2l0ZXJhdG9yLmMgICAgfCAzICsrKworIHNyYy9jb21tb25fbWFwLmMgICAgICAgICB8IDMgKysrCisgc3JjL2NvbW1vbl92Z2FhcmJfc3R1Yi5jIHwgMyArKysKKyBzcmMvbGludXhfZGV2bWVtLmMgICAgICAgfCA1ICsrKy0tCisgc3JjL29wZW5ic2RfcGNpLmMgICAgICAgIHwgMyArKysKKyBzcmMvc29seF9kZXZmcy5jICAgICAgICAgfCAzICsrKworIHNyYy94ODZfcGNpLmMgICAgICAgICAgICB8IDQgKysrLQorIDExIGZpbGVzIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvY29tbW9uX2NhcGFiaWxpdHkuYyBiL3NyYy9jb21tb25fY2FwYWJpbGl0eS5jCitpbmRleCA0ODg3NDNkLi4xNWQzOTVkIDEwMDY0NAorLS0tIGEvc3JjL2NvbW1vbl9jYXBhYmlsaXR5LmMKKysrKyBiL3NyYy9jb21tb25fY2FwYWJpbGl0eS5jCitAQCAtMzEsNiArMzEsOSBAQAorICAqCisgICogXGF1dGhvciBJYW4gUm9tYW5pY2sgPGlkckB1cy5pYm0uY29tPgorICAqLworKyNpZmRlZiBIQVZFX0NPTkZJR19ICisrI2luY2x1ZGUgImNvbmZpZy5oIgorKyNlbmRpZgorIAorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8c3RkaW8uaD4KK2RpZmYgLS1naXQgYS9zcmMvY29tbW9uX2luaXQuYyBiL3NyYy9jb21tb25faW5pdC5jCitpbmRleCBiMWMwYzNlLi5mN2I1OWJkIDEwMDY0NAorLS0tIGEvc3JjL2NvbW1vbl9pbml0LmMKKysrKyBiL3NyYy9jb21tb25faW5pdC5jCitAQCAtMjgsNiArMjgsOSBAQAorICAqCisgICogXGF1dGhvciBJYW4gUm9tYW5pY2sgPGlkckB1cy5pYm0uY29tPgorICAqLworKyNpZmRlZiBIQVZFX0NPTkZJR19ICisrI2luY2x1ZGUgImNvbmZpZy5oIgorKyNlbmRpZgorIAorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8ZXJybm8uaD4KK2RpZmYgLS1naXQgYS9zcmMvY29tbW9uX2ludGVyZmFjZS5jIGIvc3JjL2NvbW1vbl9pbnRlcmZhY2UuYworaW5kZXggNTk3NzhjZi4uY2I5NWU5MCAxMDA2NDQKKy0tLSBhL3NyYy9jb21tb25faW50ZXJmYWNlLmMKKysrKyBiL3NyYy9jb21tb25faW50ZXJmYWNlLmMKK0BAIC0yOCw2ICsyOCw5IEBACisgICoKKyAgKiBcYXV0aG9yIElhbiBSb21hbmljayA8aWRyQHVzLmlibS5jb20+CisgICovCisrI2lmZGVmIEhBVkVfQ09ORklHX0gKKysjaW5jbHVkZSAiY29uZmlnLmgiCisrI2VuZGlmCisgCisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KK2RpZmYgLS1naXQgYS9zcmMvY29tbW9uX2lvLmMgYi9zcmMvY29tbW9uX2lvLmMKK2luZGV4IGY1YzllNDUuLmU5NTg2YWQgMTAwNjQ0CistLS0gYS9zcmMvY29tbW9uX2lvLmMKKysrKyBiL3NyYy9jb21tb25faW8uYworQEAgLTIyLDYgKzIyLDkgQEAKKyAgKiBBdXRob3I6CisgICoJQWRhbSBKYWNrc29uIDxhamF4QHJlZGhhdC5jb20+CisgICovCisrI2lmZGVmIEhBVkVfQ09ORklHX0gKKysjaW5jbHVkZSAiY29uZmlnLmgiCisrI2VuZGlmCisgCisgI2luY2x1ZGUgPHN0ZGxpYi5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KK2RpZmYgLS1naXQgYS9zcmMvY29tbW9uX2l0ZXJhdG9yLmMgYi9zcmMvY29tbW9uX2l0ZXJhdG9yLmMKK2luZGV4IGNjZjY1NmQuLjJiZWIxODAgMTAwNjQ0CistLS0gYS9zcmMvY29tbW9uX2l0ZXJhdG9yLmMKKysrKyBiL3NyYy9jb21tb25faXRlcmF0b3IuYworQEAgLTI4LDYgKzI4LDkgQEAKKyAgKgorICAqIFxhdXRob3IgSWFuIFJvbWFuaWNrIDxpZHJAdXMuaWJtLmNvbT4KKyAgKi8KKysjaWZkZWYgSEFWRV9DT05GSUdfSAorKyNpbmNsdWRlICJjb25maWcuaCIKKysjZW5kaWYKKyAKKyAjaW5jbHVkZSA8c3RkbGliLmg+CisgI2luY2x1ZGUgPHN0cmluZy5oPgorZGlmZiAtLWdpdCBhL3NyYy9jb21tb25fbWFwLmMgYi9zcmMvY29tbW9uX21hcC5jCitpbmRleCA4NzU3MTUxLi5mMTg1NGJiIDEwMDY0NAorLS0tIGEvc3JjL2NvbW1vbl9tYXAuYworKysrIGIvc3JjL2NvbW1vbl9tYXAuYworQEAgLTIxLDYgKzIxLDkgQEAKKyAgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSCisgICogREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICAqLworKyNpZmRlZiBIQVZFX0NPTkZJR19ICisrI2luY2x1ZGUgImNvbmZpZy5oIgorKyNlbmRpZgorIAorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3lzL21tYW4uaD4KK2RpZmYgLS1naXQgYS9zcmMvY29tbW9uX3ZnYWFyYl9zdHViLmMgYi9zcmMvY29tbW9uX3ZnYWFyYl9zdHViLmMKK2luZGV4IDkzOTQyNzMuLmMxNzA4ZjYgMTAwNjQ0CistLS0gYS9zcmMvY29tbW9uX3ZnYWFyYl9zdHViLmMKKysrKyBiL3NyYy9jb21tb25fdmdhYXJiX3N0dWIuYworQEAgLTIzLDYgKzIzLDkgQEAKKyAgKiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgICoKKyAgKi8KKysjaWZkZWYgSEFWRV9DT05GSUdfSAorKyNpbmNsdWRlICJjb25maWcuaCIKKysjZW5kaWYKKyAKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSAicGNpYWNjZXNzLmgiCitkaWZmIC0tZ2l0IGEvc3JjL2xpbnV4X2Rldm1lbS5jIGIvc3JjL2xpbnV4X2Rldm1lbS5jCitpbmRleCAxMGUzYmRlLi4wZDA1NjdjIDEwMDY0NAorLS0tIGEvc3JjL2xpbnV4X2Rldm1lbS5jCisrKysgYi9zcmMvbGludXhfZGV2bWVtLmMKK0BAIC0zMiw4ICszMiw5IEBACisgICoKKyAgKiBcYXV0aG9yIElhbiBSb21hbmljayA8aWRyQHVzLmlibS5jb20+CisgICovCistCistI2RlZmluZSBfR05VX1NPVVJDRQorKyNpZmRlZiBIQVZFX0NPTkZJR19ICisrI2luY2x1ZGUgImNvbmZpZy5oIgorKyNlbmRpZgorIAorICNpbmNsdWRlIDxzdGRsaWIuaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CitkaWZmIC0tZ2l0IGEvc3JjL29wZW5ic2RfcGNpLmMgYi9zcmMvb3BlbmJzZF9wY2kuYworaW5kZXggNGQxYjVjZC4uYjhjZTMxOCAxMDA2NDQKKy0tLSBhL3NyYy9vcGVuYnNkX3BjaS5jCisrKysgYi9zcmMvb3BlbmJzZF9wY2kuYworQEAgLTEzLDYgKzEzLDkgQEAKKyAgKiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRgorICAqIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCisgICovCisrI2lmZGVmIEhBVkVfQ09ORklHX0gKKysjaW5jbHVkZSAiY29uZmlnLmgiCisrI2VuZGlmCisgCisgI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KK2RpZmYgLS1naXQgYS9zcmMvc29seF9kZXZmcy5jIGIvc3JjL3NvbHhfZGV2ZnMuYworaW5kZXggZjU3MjM5My4uY2Y5NjQ2NyAxMDA2NDQKKy0tLSBhL3NyYy9zb2x4X2RldmZzLmMKKysrKyBiL3NyYy9zb2x4X2RldmZzLmMKK0BAIC0yNSw2ICsyNSw5IEBACisgLyoKKyAgKiBTb2xhcmlzIGRldmZzIGludGVyZmFjZXMKKyAgKi8KKysjaWZkZWYgSEFWRV9DT05GSUdfSAorKyNpbmNsdWRlICJjb25maWcuaCIKKysjZW5kaWYKKyAKKyAjaW5jbHVkZSA8c3RkbGliLmg+CisgI2luY2x1ZGUgPHN0cmluZ3MuaD4KK2RpZmYgLS1naXQgYS9zcmMveDg2X3BjaS5jIGIvc3JjL3g4Nl9wY2kuYworaW5kZXggNDljMWNhYi4uMzJkYWEwNCAxMDA2NDQKKy0tLSBhL3NyYy94ODZfcGNpLmMKKysrKyBiL3NyYy94ODZfcGNpLmMKK0BAIC0xOCw4ICsxOCwxMCBAQAorICAqIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GCisgICogT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KKyAgKi8KKysjaWZkZWYgSEFWRV9DT05GSUdfSAorKyNpbmNsdWRlICJjb25maWcuaCIKKysjZW5kaWYKKyAKKy0jZGVmaW5lIF9HTlVfU09VUkNFCisgI2luY2x1ZGUgPHVuaXN0ZC5oPgorICNpbmNsdWRlIDxzdGRpby5oPgorICNpbmNsdWRlIDxzdGRsaWIuaD4KKy0tIAorMi4xLjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnBjaWFjY2Vzcy8wMDAyLUZpeC1xdW90aW5nLWlzc3VlLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnBjaWFjY2Vzcy8wMDAyLUZpeC1xdW90aW5nLWlzc3VlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2ZDY5YTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlicGNpYWNjZXNzLzAwMDItRml4LXF1b3RpbmctaXNzdWUucGF0Y2gKQEAgLTAsMCArMSwzNCBAQAorRnJvbSA3NjVlMGEzOGNiOGM0MGY4ODY1YWY1Y2IzNTZmZmU2MDM5ZmZiMDhmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVGhvbWFzIEtsYXVzbmVyIDx3aXpATmV0QlNELm9yZz4KK0RhdGU6IFN1biwgMjIgTWFyIDIwMTUgMjE6Mzg6MjMgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzRdIEZpeCBxdW90aW5nIGlzc3VlLgorCittNCBoYXMgJ1tdJyBhcyBxdW90aW5nIGNoYXJhY3RlcnMsIHNvIGlmIHdlIHdhbnQgJ1tdJyB0bworZW5kIHVwIGluIHRoZSBjb25maWd1cmUgc2NyaXB0LCB3ZSBuZWVkIHRvIHF1b3RlIHRoZW0gYWdhaW4uCisKK1JlcG9ydGVkIGJ5IEdyZWcgVHJveGVsIDxnZHRAaXIuYmJuLmNvbT4uCisKK1NpZ25lZC1vZmYtYnk6IFRob21hcyBLbGF1c25lciA8d2l6QE5ldEJTRC5vcmc+CitSZXZpZXdlZC1ieTogQWxhbiBDb29wZXJzbWl0aCA8YWxhbi5jb29wZXJzbWl0aEBvcmFjbGUuY29tPgorLS0tCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKKyBjb25maWd1cmUuYWMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGU2N2U5ZTEuLjg4ODMzMGIgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTc2LDcgKzc2LDcgQEAgY2FzZSAkaG9zdF9vcyBpbgorIAkJOzsKKyAJKm5ldGJzZCopCisgCQljYXNlICRob3N0IGluCistCQkqaVszLTldODYqKQorKwkJKmlbWzMtOV1dODYqKQorIAkJCVBDSUFDQ0VTU19MSUJTPSIkUENJQUNDRVNTX0xJQlMgLWxpMzg2IgorIAkJCTs7CisgCQkqeDg2XzY0KnwqYW1kNjQqKQorLS0gCisyLjEuNAorCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlicGNpYWNjZXNzLzAwMDMtbGludXhfc3lzZnMuYy1JbmNsdWRlLWxpbWl0cy5oLWZvci1QQVRIX01BWC5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJwY2lhY2Nlc3MvMDAwMy1saW51eF9zeXNmcy5jLUluY2x1ZGUtbGltaXRzLmgtZm9yLVBBVEhfTUFYLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1MTNjOGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlicGNpYWNjZXNzLzAwMDMtbGludXhfc3lzZnMuYy1JbmNsdWRlLWxpbWl0cy5oLWZvci1QQVRIX01BWC5wYXRjaApAQCAtMCwwICsxLDMyIEBACitGcm9tIDZiZDJmN2Y5MmVhZTcxMzY2M2Y0ZTEzZjZlMmNiMjM1MjY2MDdiOGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBGZWxpeCBKYW5kYSA8ZmVsaXguamFuZGFAcG9zdGVvLmRlPgorRGF0ZTogRnJpLCAxIE1heSAyMDE1IDE2OjM2OjUwICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMy80XSBsaW51eF9zeXNmcy5jOiBJbmNsdWRlIDxsaW1pdHMuaD4gZm9yIFBBVEhfTUFYCisKK0ZpeGVzIGNvbXBpbGF0aW9uIHdpdGggbXVzbCBsaWJjLgorCitUZXN0ZWQtYnk6IEJlcm5kIEt1aGxzIDxiZXJuZC5rdWhsc0B0LW9ubGluZS5kZT4KK1NpZ25lZC1vZmYtYnk6IEZlbGl4IEphbmRhIDxmZWxpeC5qYW5kYUBwb3N0ZW8uZGU+CitSZXZpZXdlZC1ieTogQWxhbiBDb29wZXJzbWl0aCA8YWxhbi5jb29wZXJzbWl0aEBvcmFjbGUuY29tPgorU2lnbmVkLW9mZi1ieTogQWxhbiBDb29wZXJzbWl0aCA8YWxhbi5jb29wZXJzbWl0aEBvcmFjbGUuY29tPgorLS0tCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKKyBzcmMvbGludXhfc3lzZnMuYyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvc3JjL2xpbnV4X3N5c2ZzLmMgYi9zcmMvbGludXhfc3lzZnMuYworaW5kZXggNTBkOTRjZi4uM2Y5NWU1MyAxMDA2NDQKKy0tLSBhL3NyYy9saW51eF9zeXNmcy5jCisrKysgYi9zcmMvbGludXhfc3lzZnMuYworQEAgLTQ1LDYgKzQ1LDcgQEAKKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisgI2luY2x1ZGUgPGZjbnRsLmg+CisrI2luY2x1ZGUgPGxpbWl0cy5oPgorICNpbmNsdWRlIDxzeXMvbW1hbi5oPgorICNpbmNsdWRlIDxkaXJlbnQuaD4KKyAjaW5jbHVkZSA8ZXJybm8uaD4KKy0tIAorMi4xLjQKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnBjaWFjY2Vzcy8wMDA0LURvbi10LWluY2x1ZGUtc3lzLWlvLmgtb24tYXJtLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnBjaWFjY2Vzcy8wMDA0LURvbi10LWluY2x1ZGUtc3lzLWlvLmgtb24tYXJtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1MzI4NTgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlicGNpYWNjZXNzLzAwMDQtRG9uLXQtaW5jbHVkZS1zeXMtaW8uaC1vbi1hcm0ucGF0Y2gKQEAgLTAsMCArMSwyOCBAQAorRnJvbSBiNmRmNTIwMjMwNmJkNzExNThiNDgyZjI1Y2EyZTY5MTk2NDVkNGRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgNCBKdW4gMjAxNSAyMDo1NTowNiAtMDcwMAorU3ViamVjdDogW1BBVENIIDQvNF0gRG9uJ3QgaW5jbHVkZSBzeXMvaW8uaCBvbiBhcm0KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKKyBzcmMvbGludXhfc3lzZnMuYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saW51eF9zeXNmcy5jIGIvc3JjL2xpbnV4X3N5c2ZzLmMKK2luZGV4IDNmOTVlNTMuLjFlM2FhZDMgMTAwNjQ0CistLS0gYS9zcmMvbGludXhfc3lzZnMuYworKysrIGIvc3JjL2xpbnV4X3N5c2ZzLmMKK0BAIC01MCw3ICs1MCw3IEBACisgI2luY2x1ZGUgPGRpcmVudC5oPgorICNpbmNsdWRlIDxlcnJuby5oPgorIAorLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykKKysjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQorICNpbmNsdWRlIDxzeXMvaW8uaD4KKyAjZWxzZQorICNkZWZpbmUgaW5iKHgpIC0xCistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJwY2lhY2Nlc3NfMC4xMy40LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnBjaWFjY2Vzc18wLjEzLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmZhNmE2MAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJwY2lhY2Nlc3NfMC4xMy40LmJiCkBAIC0wLDAgKzEsMjEgQEAKK1NVTU1BUlkgPSAiR2VuZXJpYyBQQ0kgYWNjZXNzIGxpYnJhcnkgZm9yIFgiCisKK0RFU0NSSVBUSU9OID0gImxpYnBjaWFjY2VzcyBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IGZvciBYIHRvIGFjY2VzcyB0aGUgXAorUENJIGJ1cyBhbmQgZGV2aWNlcyBpbiBhIHBsYXRmb3JtLWluZGVwZW5kZW50IHdheS4iCisKK3JlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYworCitTUkNfVVJJICs9ICJcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1JbmNsdWRlLWNvbmZpZy5oLWJlZm9yZS1hbnl0aGluZy1lbHNlLWluLS5jLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAyLUZpeC1xdW90aW5nLWlzc3VlLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly8wMDAzLWxpbnV4X3N5c2ZzLmMtSW5jbHVkZS1saW1pdHMuaC1mb3ItUEFUSF9NQVgucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovLzAwMDQtRG9uLXQtaW5jbHVkZS1zeXMtaW8uaC1vbi1hcm0ucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYWNlNzhhZWM3OTliMWNmNmRmYWVhNTVkMzg3OWVkOWYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDdmODY0NjU0NTYxZTRhYzg2MjlhMGVmOWM4ZjA3ZmJjMWY4NTkyZDFiNmM0MTg0MzE1OTNlOWJhMmNmMmZjZiIKKworTElDRU5TRSA9ICJNSVQgJiBNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yNzdhYWRhNTIyMmI5YTIyZmJmMzQ3MWZmMzY4NzA2OCIKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIiIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJwdGhyZWFkLXN0dWJzXzAuMy5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJwdGhyZWFkLXN0dWJzXzAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTE0YzdmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnB0aHJlYWQtc3R1YnNfMC4zLmJiCkBAIC0wLDAgKzEsMjUgQEAKK1NVTU1BUlkgPSAiTGlicmFyeSB0aGF0IHByb3ZpZGVzIHdlYWsgYWxpYXNlcyBmb3IgcHRocmVhZCBmdW5jdGlvbnMiCitERVNDUklQVElPTiA9ICJUaGlzIGxpYnJhcnkgcHJvdmlkZXMgd2VhayBhbGlhc2VzIGZvciBwdGhyZWFkIGZ1bmN0aW9ucyBcCitub3QgcHJvdmlkZWQgaW4gbGliYyBvciBvdGhlcndpc2UgYXZhaWxhYmxlIGJ5IGRlZmF1bHQuIgorSE9NRVBBR0UgPSAiaHR0cDovL3hjYi5mcmVlZGVza3RvcC5vcmciCitCVUdUUkFDS0VSID0gImh0dHA6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9idWdsaXN0LmNnaT9wcm9kdWN0PVhDQiIKK1NFQ1RJT04gPSAieDExL2xpYnMiCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTZlZGMxZmVhMDNkOTU5ZjBjMmQ3NDNmZTVjYTc0NmFkIgorCisjREVQRU5EUyA9ICJ4Y2ItcHJvdG8geHByb3RvIGxpYnhhdSBsaWJ4c2x0LW5hdGl2ZSIKKyMgREVQRU5EUyArPSAieHNsdHByb2MtbmF0aXZlIGdwZXJmLW5hdGl2ZSIKKworQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKKworU1JDX1VSSSA9ICJodHRwOi8veGNiLmZyZWVkZXNrdG9wLm9yZy9kaXN0L2xpYnB0aHJlYWQtc3R1YnMtJHtQVn0udGFyLmJ6MiIKKworU1JDX1VSSVttZDVzdW1dID0gImU4ZmEzMWI0MmUxM2Y4N2U4ZjVhN2EyYjczMWRiN2VlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjM1YjZkNTRlM2NjNmYzYmEyODA2MWRhODFhZjY0YjlhOTJiN2I3NTczMTkwOTgxNzI0ODhhNjYwZTNkODcyOTkiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworCitSREVQRU5EU18ke1BOfS1kZXYgPSAiIgorUlJFQ09NTUVORFNfJHtQTn0tZGJnID0gIiR7UE59LWRldiAoPSAke0VYVEVORFBLR1Z9KSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnNtXzEuMi4yLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnNtXzEuMi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5MjUxMzYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlic21fMS4yLjIuYmIKQEAgLTAsMCArMSwyOCBAQAorU1VNTUFSWSA9ICJTTTogU2Vzc2lvbiBNYW5hZ2VtZW50IGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gIlRoZSBTZXNzaW9uIE1hbmFnZW1lbnQgTGlicmFyeSAoU01saWIpIGlzIGEgbG93LWxldmVsIFwiQ1wiIFwKK2xhbmd1YWdlIGludGVyZmFjZSB0byBYU01QLiAgVGhlIHB1cnBvc2Ugb2YgdGhlIFggU2Vzc2lvbiBNYW5hZ2VtZW50IFwKK1Byb3RvY29sIChYU01QKSBpcyB0byBwcm92aWRlIGEgdW5pZm9ybSBtZWNoYW5pc20gZm9yIHVzZXJzIHRvIHNhdmUgYW5kIFwKK3Jlc3RvcmUgdGhlaXIgc2Vzc2lvbnMuICBBIHNlc3Npb24gaXMgYSBncm91cCBvZiBjbGllbnRzLCBlYWNoIG9mIHdoaWNoIFwKK2hhcyBhIHBhcnRpY3VsYXIgc3RhdGUuIgorCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworTElDRU5TRSA9ICJNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jMGZiMzdmNDRlMDJiZGJkZTgwNTQ2MDI0NDAwNzI4ZCIKKworREVQRU5EUyArPSAibGliaWNlIHhwcm90byB4dHJhbnMiCisKKyMgbGliU00gY2FuIHdvcmsgd2l0aG91dCBsaWJ1dWlkLCB3ZSBleHBsaWNpdGx5IGRpc2FibGUgaXQgdG8gYnJlYWsgdGhlIGZvbGxvd2luZyBjaXJjdWxhciBkZXBlbmRlbmN5CisjIHdoZW4gRElTVFJPX0ZFQVRVUkVTIGNvbnRhaW5zICdzeXN0ZW1kJyBhbmQgJ3gxMScuCisjIHN5c3RlbWQgLT4gZGJ1cyAtPiBsaWJzbSAtPiB1dGlsLWxpbnV4IC0+IHN5c3RlbWQKK0VYVFJBX09FQ09ORiArPSAiLS13aXRob3V0LWxpYnV1aWQiCisKK1BFID0gIjEiCisKK1hPUkdfUE4gPSAibGliU00iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDk5YTc3NzNjNjVhYmE1MTM2MDlmZTY1MTg1M2M1ZjMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGJhY2E4YzlmNWQ5MzQ0NTBhNzA4OTZjNGFkMzhkMDY0NzU1MjEyNTVjYTYzYjcxN2E2NTEwZmRiNmUyODdiZCIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTEtZGlldF8xLjYuMy5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTEtZGlldF8xLjYuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMGQwMTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS1kaWV0XzEuNi4zLmJiCkBAIC0wLDAgKzEsMTkgQEAKK3JlcXVpcmUgbGlieDExLmluYworCitERVNDUklQVElPTiArPSAiIFN1cHBvcnQgZm9yIFhDTVMgYW5kIFhMT0NBTEUgaXMgZGlzYWJsZWQgaW4gXAordGhpcyB2ZXJzaW9uLiIKKworU1JDX1VSSSArPSAiZmlsZTovL1gxOE5DTVNzdHVicy5kaWZmIFwKKyAgICAgICAgICAgIGZpbGU6Ly9maXgtZGlzYWJsZS14bG9jYWxlLmRpZmYgXAorICAgICAgICAgICAgZmlsZTovL2ZpeC11dGY4LXdyb25nLWRlZmluZS5wYXRjaCBcCisgICAgICAgICAgICIKKworUlBST1ZJREVTXyR7UE59LWRldiA9ICJsaWJ4MTEtZGV2IgorUlBST1ZJREVTXyR7UE59LWxvY2FsZSA9ICJsaWJ4MTEtbG9jYWxlIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMmUzNmI3M2Y4YTQyMTQzMTQyZGRhODEyOWYwMmU0ZTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiY2YzMWE3YzM5ZjJmNTJlOGViZDBkYjk1NjQwMzg0ZTYzNDUxZjliMDE0ZWVkMmJiN2Y1ZGUwM2U4YWRjODExMSIKKworRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUteGxvY2FsZSIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTEuaW5jIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjA0ZWFmYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTEuaW5jCkBAIC0wLDAgKzEsNDEgQEAKK1NVTU1BUlkgPSAiWGxpYjogQyBMYW5ndWFnZSBYIEludGVyZmFjZSBsaWJyYXJ5IgorCitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgYSBjbGllbnQgaW50ZXJmYWNlIHRvIHRoZSBYIFdpbmRvdyBcCitTeXN0ZW0sIG90aGVyd2lzZSBrbm93biBhcyAnWGxpYicuICBJdCBwcm92aWRlcyBhIGNvbXBsZXRlIEFQSSBmb3IgdGhlIFwKK2Jhc2ljIGZ1bmN0aW9ucyBvZiB0aGUgd2luZG93IHN5c3RlbS4iCisKK3JlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYworCitpbmhlcml0IHNpdGVpbmZvCisKK0ZJTEVTRVhUUkFQQVRIUyA9LiAiJHtGSUxFX0RJUk5BTUV9L2xpYngxMToiCisKK1BFID0gIjEiCisKK1BST1ZJREVTID0gInZpcnR1YWwvbGlieDExIgorCitYT1JHX1BOID0gImxpYlgxMSIKK0xJQ0VOU0UgPSAiTUlUICYgTUlULXN0eWxlICYgQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTcyMjU1ZGVlNjZiYjAxNTE0MzViMmQ1ZDcwOWZjZjciCisKK0RFUEVORFMgKz0gInhwcm90byB4ZXh0cHJvdG8geHRyYW5zIGxpYnhjYiBrYnByb3RvIGlucHV0cHJvdG8iCitERVBFTkRTICs9ICJ4cHJvdG8tbmF0aXZlIgorCitFWFRSQV9PRUNPTkYgKz0gIi0td2l0aC1rZXlzeW1kZWZkaXI9JHtTVEFHSU5HX0lOQ0RJUn0vWDExLyAtLWRpc2FibGUteGY4NmJpZ2ZvbnQiCitFWFRSQV9PRU1BS0UgKz0gJ0NXQVJORkxBR1M9IiInCisKK1BBQ0tBR0VDT05GSUcgPz89ICJ4Y21zIgorUEFDS0FHRUNPTkZJR1t4Y21zXSA9ICItLWVuYWJsZS14Y21zLC0tZGlzYWJsZS14Y21zIgorCisjIHNyYy91dGlsL21ha2VrZXlzIGlzIGJ1aWx0IG5hdGl2ZWx5IGJ1dCBuZWVkcyAtRF9HTlVfU09VUkNFIGRlZmluZWQuCitDUFBGTEFHU19GT1JfQlVJTEQgKz0gIi1EX0dOVV9TT1VSQ0UiCisKK1BBQ0tBR0VTID0rICIke1BOfS14Y2IiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L1gxMS9YS2V5c3ltREIgJHtkYXRhZGlyfS9YMTEvWEVycm9yREIgJHtkYXRhZGlyfS9YMTEvWGNtcy50eHQiCitGSUxFU18ke1BOfS14Y2IgKz0gIiR7bGliZGlyfS9saWJYMTEteGNiLnNvLioiCitGSUxFU18ke1BOfS1sb2NhbGUgKz0gIiR7ZGF0YWRpcn0vWDExL2xvY2FsZSAke2xpYmRpcn0vWDExL2xvY2FsZSIKKworIyBNdWx0aXBsZSBsaWJ4MTEgZGVyaXZhdGl2ZXMgZnJvbSBmcm9tIHRoaXMgZmlsZSBhbmQgYXJlIHNlbGVjdGVkIGJ5IHZpcnR1YWwvbGlieDExCisjIEEgd29ybGQgYnVpbGQgc2hvdWxkIG9ubHkgYnVpbGQgdGhlIGNvcnJlY3QgdmVyc2lvbiwgbm90IGFsbCBvZiB0aGVtLgorRVhDTFVERV9GUk9NX1dPUkxEID0gIjEiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExL1gxOE5DTVNzdHVicy5kaWZmIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS9YMThOQ01Tc3R1YnMuZGlmZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDRjZWRjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS9YMThOQ01Tc3R1YnMuZGlmZgpAQCAtMCwwICsxLDUyMCBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1Vwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZSBbY29uZmlndXJhdGlvbl0KK0luZGV4OiBsaWJYMTEtMS4zL3NyYy9pbUNvbnYuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGxpYlgxMS0xLjMub3JpZy9zcmMvaW1Db252LmMKKysrKyBsaWJYMTEtMS4zL3NyYy9pbUNvbnYuYworQEAgLTgzLDYgKzgzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBTdWJzdFJlYyBTdWJzdFRhYmxlWworICAqIGZyb20gVUNTIGNoYXIgdG8gc3BlY2lmaWVkIGNoYXJzZXQgY2hhci4KKyAgKiBUaGlzIGNvbnZlcnRlciBpcyBuZWVkZWQgZm9yIF9YaW1HZXRDaGFyQ29kZSBzdWJyb3V0aW5lLgorICAqLworKyNpZmRlZiBYTE9DQUxFCisgWFBvaW50ZXIKKyBfWGltR2V0TG9jYWxlQ29kZSAoCisgICAgIF9YY29uc3QgY2hhcioJZW5jb2RpbmdfbmFtZSkKK0BAIC05Niw2ICs5Nyw3IEBAIF9YaW1HZXRMb2NhbGVDb2RlICgKKyAgICAgfQorICAgICByZXR1cm4gY3Z0OworIH0KKysjZW5kaWYKKyAKKyAvKgorICAqIFJldHVybnMgdGhlIGxvY2FsZSBkZXBlbmRlbnQgcmVwcmVzZW50YXRpb24gb2YgYSBrZXlzeW0uCitAQCAtMTA2LDYgKzEwOCw3IEBAIF9YaW1HZXRMb2NhbGVDb2RlICgKKyAgKiB0ZXJtaW5hdGluZyBOVUwgYnl0ZS4gUmV0dXJuIDAgaWYgdGhlIGtleXN5bSBpcyBub3QgcmVwcmVzZW50YWJsZSBpbiB0aGUKKyAgKiBsb2NhbGUKKyAgKi8KKysjaWZkZWYgWExPQ0FMRQorIC8qQVJHU1VTRUQqLworIGludAorIF9YaW1HZXRDaGFyQ29kZSAoCitAQCAtMTM1LDYgKzEzOCw3IEBAIF9YaW1HZXRDaGFyQ29kZSAoCisgICAgICAgICBidWZbY291bnRdPSAnXDAnOworICAgICByZXR1cm4gY291bnQ7CisgfQorKyNlbmRpZgorIAorICNpZmRlZiBYS0IKKyBzdGF0aWMgaW50IGxvb2t1cF9zdHJpbmcoCitJbmRleDogbGliWDExLTEuMy9zcmMvWDE4TkNNU3N0dWJzLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwKKysrKyBsaWJYMTEtMS4zL3NyYy9YMThOQ01Tc3R1YnMuYworQEAgLTAsMCArMSw0MjggQEAKKysvKgorKyAqIFgxOE5DTVNzdHVicy5jCisrICogLSBQcm92aWRlcyBzdHVicyBhbmQgZHVtbXkgZnVuY3MgbmVlZGVkIHdoZW4gWGNtcyBhbmQgWExvY2FsZSBzdHVmZiByZW1vdmVkCisrICoKKysgKiBDb3B5cmlnaHQgqSAyMDAzIE1hdHRoZXcgQWxsdW0KKysgKgorKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGRpc3RyaWJ1dGUsIGFuZCBzZWxsIHRoaXMgc29mdHdhcmUgYW5kIGl0cworKyAqIGRvY3VtZW50YXRpb24gZm9yIGFueSBwdXJwb3NlIGlzIGhlcmVieSBncmFudGVkIHdpdGhvdXQgZmVlLCBwcm92aWRlZCB0aGF0CisrICogdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMgYW5kIHRoYXQgYm90aCB0aGF0CisrICogY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gc3VwcG9ydGluZworKyAqIGRvY3VtZW50YXRpb24sIGFuZCB0aGF0IHRoZSBuYW1lIG9mIE1hdHRoZXcgQWxsdW0gbm90IGJlIHVzZWQgaW4KKysgKiBhZHZlcnRpc2luZyBvciBwdWJsaWNpdHkgcGVydGFpbmluZyB0byBkaXN0cmlidXRpb24gb2YgdGhlIHNvZnR3YXJlIHdpdGhvdXQKKysgKiBzcGVjaWZpYywgd3JpdHRlbiBwcmlvciBwZXJtaXNzaW9uLiAgS2VpdGggUGFja2FyZCBhbmQgQ29tcGFxIG1ha2VzIG5vCisrICogcmVwcmVzZW50YXRpb25zIGFib3V0IHRoZSBzdWl0YWJpbGl0eSBvZiB0aGlzIHNvZnR3YXJlIGZvciBhbnkgcHVycG9zZS4gIEl0CisrICogaXMgcHJvdmlkZWQgImFzIGlzIiB3aXRob3V0IGV4cHJlc3Mgb3IgaW1wbGllZCB3YXJyYW50eS4KKysgKgorKyAqIE1BVFRIRVcgQUxMVU0gRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTIFdJVEggUkVHQVJEIFRPIFRISVMgCisrICogU09GVFdBUkUsIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUywgCisrICogSU4gTk8gRVZFTlQgU0hBTEwgS0VJVEggUEFDS0FSRCBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBJTkRJUkVDVCBPUgorKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLAorKyAqIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIKKysgKiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SCisrICogUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS4KKysgKi8KKysKKysjaW5jbHVkZSA8c3RkbGliLmg+CisrI2luY2x1ZGUgIlhsaWJpbnQuaCIKKysjaW5jbHVkZSAiWGxjaW50LmgiCisrI2luY2x1ZGUgPFgxMS9YbG9jYWxlLmg+CisrI2luY2x1ZGUgPFgxMS9Yb3MuaD4KKysjaWZkZWYgV0lOMzIKKysjdW5kZWYgY2xvc2UKKysjZW5kaWYKKysjaW5jbHVkZSA8WDExL1h1dGlsLmg+CisrI2luY2x1ZGUgIlhsY1B1YkkuaCIKKysKKysjaW5jbHVkZSAiWGNtc2ludC5oIiAJCS8qIGZvciBYY21zQ0NDIHR5cGUgICovCisrI2luY2x1ZGUgIlhsY1B1YkkuaCIgICAgICAgICAgICAvKiBmb3IgWExDZCB0eXBlICovCisrI2luY2x1ZGUgImNvbmZpZy5oIgorKworKyNpZiAhIFhMT0NBTEUKKysKKytCb29sCisrWFN1cHBvcnRzTG9jYWxlKCkKKyt7CisrICByZXR1cm4gRmFsc2U7IAkJCisrfQorKworK2NoYXIgKgorK1hTZXRMb2NhbGVNb2RpZmllcnMoCisrICAgIGNvbnN0IGNoYXIgKm1vZGlmaWVycykKKyt7CisrICByZXR1cm4gTlVMTDsKKyt9CisrCisrWExDZAorK19YT3BlbkxDKAorKyAgICBjaGFyICpuYW1lKQorK3sKKysgIHJldHVybiBOVUxMOworK30KKysKKytYTENkCisrX1hsY0N1cnJlbnRMQygpCisreworKyAgcmV0dXJuIE5VTEw7CisrfQorKworK3ZvaWQKKytfWGxjVmFUb0FyZ0xpc3QoCisrICAgIHZhX2xpc3QgdmFyLAorKyAgICBpbnQgY291bnQsCisrICAgIFhsY0FyZ0xpc3QgKmFyZ3NfcmV0KQorK3sKKysgIHJldHVybjsKKyt9CisrCisrdm9pZAorK19YbGNDb3VudFZhTGlzdCgKKysgICAgdmFfbGlzdCB2YXIsCisrICAgIGludCAqY291bnRfcmV0KQorK3sKKysgIHJldHVybjsKKyt9CisrCisrdm9pZAorK19YQ2xvc2VMQygKKysgICAgWExDZCBsY2QpCisreworKyAgcmV0dXJuOworK30KKysKKytpbnQKKytfWGxjQ29udmVydCgKKysgICAgWGxjQ29udiBjb252LAorKyAgICBYUG9pbnRlciAqZnJvbSwKKysgICAgaW50ICpmcm9tX2xlZnQsCisrICAgIFhQb2ludGVyICp0bywKKysgICAgaW50ICp0b19sZWZ0LAorKyAgICBYUG9pbnRlciAqYXJncywKKysgICAgaW50IG51bV9hcmdzKQorK3sKKysgIHJldHVybiAwOworK30KKysKKysvKiBYSU0gU3R1YnMgKi8KKysKKytYUG9pbnRlcgorK19YaW1HZXRMb2NhbGVDb2RlICggX1hjb25zdCBjaGFyKiBlbmNvZGluZ19uYW1lICkKKyt7CisrICByZXR1cm4gTlVMTDsKKyt9CisrCisraW50CisrX1hpbUdldENoYXJDb2RlICgKKysgICAgWFBvaW50ZXIgICAgICAgICAgICB1Y3NfY29udiwKKysgICAgS2V5U3ltICAgICAgICAgICAgICBrZXlzeW0sCisrICAgIHVuc2lnbmVkIGNoYXIqICAgICAgYnVmLAorKyAgICBpbnQgICAgICAgICAgICAgICAgIG5ieXRlcykKKyt7CisrICByZXR1cm4gMDsKKyt9CisrCisrLyogWHJtIFN0dWJzICovCisrCisrWHJtTWV0aG9kcworK19Ycm1Jbml0UGFyc2VJbmZvKAorKyAgICBYUG9pbnRlciAqc3RhdGUpCisreworKyAgICByZXR1cm4gKFhybU1ldGhvZHMpIE5VTEw7CisrfQorKworKy8qIFh3YyBTdHVicyAqLworKworK2ludAorK1h3Y1RleHRFeHRlbnRzKAorKyAgICBYRm9udFNldCAgICAgICAgICAgIGZvbnRfc2V0LAorKyAgICBfWGNvbnN0IHdjaGFyX3QgICAgKnRleHQsCisrICAgIGludCAgICAgICAgICAgICAgICAgdGV4dF9sZW4sCisrICAgIFhSZWN0YW5nbGUgICAgICAgICAqb3ZlcmFsbF9pbmtfZXh0ZW50cywKKysgICAgWFJlY3RhbmdsZSAgICAgICAgICpvdmVyYWxsX2xvZ2ljYWxfZXh0ZW50cykKKyt7CisrICByZXR1cm4gMDsKKyt9CisrCisrdm9pZCAKKytYd2NEcmF3U3RyaW5nKERpc3BsYXkgKmRpc3BsYXksCisrCSAgICAgIERyYXdhYmxlIGQsCisrCSAgICAgIFhGb250U2V0IGZvbnRfc2V0LAorKwkgICAgICBHQyBnYywKKysJICAgICAgaW50IHgsIGludCB5LAorKwkgICAgICBfWGNvbnN0IHdjaGFyX3QgKnN0cmluZywKKysJICAgICAgaW50IG51bV93Y2hhcnMpCisreworKyAgOworK30KKysKKyt2b2lkCisrWHdjRHJhd1RleHQoCisrICAgIERpc3BsYXkgICAgICAgICAgICAqZHB5LAorKyAgICBEcmF3YWJsZSAgICAgICAgICAgIGQsCisrICAgIEdDICAgICAgICAgICAgICAgICAgZ2MsCisrICAgIGludCAgICAgICAgICAgICAgICAgeCwKKysgICAgaW50ICAgICAgICAgICAgICAgICB5LAorKyAgICBYd2NUZXh0SXRlbSAgICAgICAgKnRleHRfaXRlbXMsCisrICAgIGludCAgICAgICAgICAgICAgICAgbml0ZW1zKQorK3sKKysgIDsKKyt9CisrCisrdm9pZAorK1h3Y0RyYXdJbWFnZVN0cmluZygKKysgICAgRGlzcGxheSAgICAgICAgICAgICpkcHksCisrICAgIERyYXdhYmxlICAgICAgICAgICAgZCwKKysgICAgWEZvbnRTZXQgICAgICAgICAgICBmb250X3NldCwKKysgICAgR0MgICAgICAgICAgICAgICAgICBnYywKKysgICAgaW50ICAgICAgICAgICAgICAgICB4LAorKyAgICBpbnQgICAgICAgICAgICAgICAgIHksCisrICAgIF9YY29uc3Qgd2NoYXJfdCAgICAqdGV4dCwKKysgICAgaW50ICAgICAgICAgICAgICAgICB0ZXh0X2xlbikKKyt7CisrICA7CisrfQorKworK2ludAorK1h3Y1RleHRFc2NhcGVtZW50KAorKyAgICBYRm9udFNldCAgICAgICAgICAgIGZvbnRfc2V0LAorKyAgICBfWGNvbnN0IHdjaGFyX3QgICAgKnRleHQsCisrICAgIGludCAgICAgICAgICAgICAgICAgdGV4dF9sZW4pCisreworKyAgcmV0dXJuIDA7CisrfQorKworK1N0YXR1cworK1h3Y1RleHRQZXJDaGFyRXh0ZW50cygKKysgICAgWEZvbnRTZXQgICAgICAgICAgICBmb250X3NldCwKKysgICAgX1hjb25zdCB3Y2hhcl90ICAgICp0ZXh0LAorKyAgICBpbnQgICAgICAgICAgICAgICAgIHRleHRfbGVuLAorKyAgICBYUmVjdGFuZ2xlICAgICAgICAgKmlua19leHRlbnRzX2J1ZmZlciwKKysgICAgWFJlY3RhbmdsZSAgICAgICAgICpsb2dpY2FsX2V4dGVudHNfYnVmZmVyLAorKyAgICBpbnQgICAgICAgICAgICAgICAgIGJ1ZmZlcl9zaXplLAorKyAgICBpbnQgICAgICAgICAgICAgICAgKm51bV9jaGFycywKKysgICAgWFJlY3RhbmdsZSAgICAgICAgICptYXhfaW5rX2V4dGVudHMsCisrICAgIFhSZWN0YW5nbGUgICAgICAgICAqbWF4X2xvZ2ljYWxfZXh0ZW50cykKKyt7CisrICByZXR1cm4oWGNtc0ZhaWx1cmUpOworK30KKysKKytpbnQKKytYd2NUZXh0UHJvcGVydHlUb1RleHRMaXN0KAorKyAgICBEaXNwbGF5ICpkcHksCisrICAgIGNvbnN0IFhUZXh0UHJvcGVydHkgKnRleHRfcHJvcCwKKysgICAgd2NoYXJfdCAqKipsaXN0X3JldCwKKysgICAgaW50ICpjb3VudF9yZXQpCisreworKyAgcmV0dXJuIDA7CisrfQorKworK2ludAorK1h3Y1RleHRMaXN0VG9UZXh0UHJvcGVydHkoCisrICAgIERpc3BsYXkgKmRweSwKKysgICAgd2NoYXJfdCAqKmxpc3QsCisrICAgIGludCBjb3VudCwKKysgICAgWElDQ0VuY29kaW5nU3R5bGUgc3R5bGUsCisrICAgIFhUZXh0UHJvcGVydHkgKnRleHRfcHJvcCkKKyt7CisrICByZXR1cm4gMDsKKyt9CisrCisrdm9pZAorK1h3Y0ZyZWVTdHJpbmdMaXN0KHdjaGFyX3QgKipsaXN0KQorK3sKKysgIHJldHVybjsKKyt9CisrCisrCisrdm9pZCBYbWJTZXRXTVByb3BlcnRpZXMgKCAgICAgICAgLyogQWN0dWFsbHkgZnJvbSBtYldNUHJvcHMuYyAqLworKyAgICBEaXNwbGF5ICpkcHksCisrICAgIFdpbmRvdyB3LAorKyAgICBfWGNvbnN0IGNoYXIgKndpbmRvd05hbWUsCisrICAgIF9YY29uc3QgY2hhciAqaWNvbk5hbWUsCisrICAgIGNoYXIgKiphcmd2LAorKyAgICBpbnQgYXJnYywKKysgICAgWFNpemVIaW50cyAqc2l6ZUhpbnRzLAorKyAgICBYV01IaW50cyAqd21IaW50cywKKysgICAgWENsYXNzSGludCAqY2xhc3NIaW50cykKKyt7CisrICByZXR1cm47CisrfQorKworK2ludAorK1htYlRleHRQcm9wZXJ0eVRvVGV4dExpc3QoCisrICAgIERpc3BsYXkgKmRweSwKKysgICAgY29uc3QgWFRleHRQcm9wZXJ0eSAqdGV4dF9wcm9wLAorKyAgICBjaGFyICoqKmxpc3RfcmV0LAorKyAgICBpbnQgKmNvdW50X3JldCkKKyt7CisrICByZXR1cm4gWExvY2FsZU5vdFN1cHBvcnRlZDsKKyt9CisrCisraW50CisrWG1iVGV4dExpc3RUb1RleHRQcm9wZXJ0eSgKKysgICAgRGlzcGxheSAqZHB5LAorKyAgICBjaGFyICoqbGlzdCwKKysgICAgaW50IGNvdW50LAorKyAgICBYSUNDRW5jb2RpbmdTdHlsZSBzdHlsZSwKKysgICAgWFRleHRQcm9wZXJ0eSAqdGV4dF9wcm9wKQorK3sKKysgIHJldHVybiBYTG9jYWxlTm90U3VwcG9ydGVkOworK30KKysKKytpbnQKKytYbWJUZXh0RXh0ZW50cygKKysgICAgWEZvbnRTZXQgICAgICAgIGZvbnRfc2V0LAorKyAgICBfWGNvbnN0IGNoYXIgICAqdGV4dCwKKysgICAgaW50ICAgICAgICAgICAgIHRleHRfbGVuLAorKyAgICBYUmVjdGFuZ2xlICAgICAqb3ZlcmFsbF9pbmtfZXh0ZW50cywKKysgICAgWFJlY3RhbmdsZSAgICAgKm92ZXJhbGxfbG9naWNhbF9leHRlbnRzKQorK3sKKysgIHJldHVybiAwOworK30KKysKKyt2b2lkCisrWG1iRHJhd1RleHQoCisrICAgIERpc3BsYXkgICAgICAgICAgICAqZHB5LAorKyAgICBEcmF3YWJsZSAgICAgICAgICAgIGQsCisrICAgIEdDICAgICAgICAgICAgICAgICAgZ2MsCisrICAgIGludCAgICAgICAgICAgICAgICAgeCwKKysgICAgaW50ICAgICAgICAgICAgICAgICB5LAorKyAgICBYbWJUZXh0SXRlbSAgICAgICAgKnRleHRfaXRlbXMsCisrICAgIGludCAgICAgICAgICAgICAgICAgbml0ZW1zKQorK3sKKysgIDsKKyt9CisrCisrdm9pZAorK1htYkRyYXdTdHJpbmcoCisrICAgIERpc3BsYXkgICAgICAgICAgICAqZHB5LAorKyAgICBEcmF3YWJsZSAgICAgICAgICAgIGQsCisrICAgIFhGb250U2V0ICAgICAgICAgICAgZm9udF9zZXQsCisrICAgIEdDICAgICAgICAgICAgICAgICAgZ2MsCisrICAgIGludCAgICAgICAgICAgICAgICAgeCwKKysgICAgaW50ICAgICAgICAgICAgICAgICB5LAorKyAgICBfWGNvbnN0IGNoYXIgICAgICAgKnRleHQsCisrICAgIGludCAgICAgICAgICAgICAgICAgdGV4dF9sZW4pCisreworKyAgOworK30KKysKKyt2b2lkCisrWG1iRHJhd0ltYWdlU3RyaW5nKAorKyAgICBEaXNwbGF5ICAgICAgICAgICAgKmRweSwKKysgICAgRHJhd2FibGUgICAgICAgICAgICBkLAorKyAgICBYRm9udFNldCAgICAgICAgICAgIGZvbnRfc2V0LAorKyAgICBHQyAgICAgICAgICAgICAgICAgIGdjLAorKyAgICBpbnQgICAgICAgICAgICAgICAgIHgsCisrICAgIGludCAgICAgICAgICAgICAgICAgeSwKKysgICAgX1hjb25zdCBjaGFyICAgICAgICp0ZXh0LAorKyAgICBpbnQgICAgICAgICAgICAgICAgIHRleHRfbGVuKQorK3sKKysgIDsKKyt9CisrCisraW50CisrWG1iVGV4dEVzY2FwZW1lbnQoCisrICAgIFhGb250U2V0ICAgICAgICBmb250X3NldCwKKysgICAgX1hjb25zdCBjaGFyICAgKnRleHQsCisrICAgIGludCAgICAgICAgICAgICB0ZXh0X2xlbikKKyt7CisrICByZXR1cm4gMDsKKyt9CisrCisrU3RhdHVzCisrWG1iVGV4dFBlckNoYXJFeHRlbnRzKAorKyAgICBYRm9udFNldCAgICAgICAgZm9udF9zZXQsCisrICAgIF9YY29uc3QgY2hhciAgICp0ZXh0LAorKyAgICBpbnQgICAgICAgICAgICAgdGV4dF9sZW4sCisrICAgIFhSZWN0YW5nbGUgICAgICppbmtfZXh0ZW50c19idWZmZXIsCisrICAgIFhSZWN0YW5nbGUgICAgICpsb2dpY2FsX2V4dGVudHNfYnVmZmVyLAorKyAgICBpbnQgICAgICAgICAgICAgYnVmZmVyX3NpemUsCisrICAgIGludCAgICAgICAgICAgICpudW1fY2hhcnMsCisrICAgIFhSZWN0YW5nbGUgICAgICptYXhfaW5rX2V4dGVudHMsCisrICAgIFhSZWN0YW5nbGUgICAgICptYXhfbG9naWNhbF9leHRlbnRzKQorK3sKKysgIHJldHVybiAwOworK30KKysKKyt1bnNpZ25lZCBpbnQKKytLZXlTeW1Ub1VjczQoS2V5U3ltIGtleXN5bSkKKyt7CisrICByZXR1cm4gMDsKKyt9CisrCisrI2VuZGlmIAorKworKyNpZiAhIFhDTVMKKysKKytYY21zQ0NDIAorK1hjbXNDQ0NPZkNvbG9ybWFwKGRweSwgY21hcCkKKysgICAgRGlzcGxheSAqZHB5OworKyAgICBDb2xvcm1hcCBjbWFwOworK3sKKysgIHJldHVybiBOVUxMOworK30KKysKKytTdGF0dXMKKytfWGNtc1Jlc29sdmVDb2xvclN0cmluZyAoCisrICAgIFhjbXNDQ0MgY2NjLAorKyAgICBjb25zdCBjaGFyICoqY29sb3Jfc3RyaW5nLAorKyAgICBYY21zQ29sb3IgKnBDb2xvcl9leGFjdF9yZXR1cm4sCisrICAgIFhjbXNDb2xvckZvcm1hdCByZXN1bHRfZm9ybWF0KQorK3sKKysgIHJldHVybihYY21zRmFpbHVyZSk7CisrfQorKworK3ZvaWQKKytfWGNtc1VucmVzb2x2ZUNvbG9yKAorKyAgICBYY21zQ0NDIGNjYywKKysgICAgWGNtc0NvbG9yICpwQ29sb3IpCisreworKyAgcmV0dXJuOworK30KKysKKyt2b2lkCisrX1hVbnJlc29sdmVDb2xvcigKKysgICAgWGNtc0NDQyBjY2MsCisrICAgIFhDb2xvciAqcFhDb2xvcikKKyt7CisrICByZXR1cm47CisrfQorKworK1hjbXNDbWFwUmVjICoKKytfWGNtc0FkZENtYXBSZWMoZHB5LCBjbWFwLCB3aW5kb3dJRCwgdmlzdWFsKQorKyAgICBEaXNwbGF5ICpkcHk7CisrICAgIENvbG9ybWFwIGNtYXA7CisrICAgIFdpbmRvdyB3aW5kb3dJRDsKKysgICAgVmlzdWFsICp2aXN1YWw7CisreworKyAgcmV0dXJuIE5VTEw7CisrfQorKworK3ZvaWQKKytfWGNtc1JHQl90b19YQ29sb3IoCisrICAgIFhjbXNDb2xvciAqcENvbG9ycywKKysgICAgWENvbG9yICpwWENvbG9ycywKKysgICAgdW5zaWduZWQgaW50IG5Db2xvcnMpCisreworKyAgcmV0dXJuOworK30KKysKKytYY21zQ21hcFJlYyAqCisrX1hjbXNDb3B5Q21hcFJlY0FuZEZyZWUoCisrICAgIERpc3BsYXkgKmRweSwKKysgICAgQ29sb3JtYXAgc3JjX2NtYXAsCisrICAgIENvbG9ybWFwIGNvcHlfY21hcCkKKyt7CisrICByZXR1cm4gTlVMTDsKKyt9CisrCisrdm9pZAorK19YY21zRGVsZXRlQ21hcFJlYygKKysgICAgRGlzcGxheSAqZHB5LAorKyAgICBDb2xvcm1hcCBjbWFwKQorK3sKKysgIHJldHVybjsKKyt9CisrCisrI2VuZGlmCitJbmRleDogbGliWDExLTEuMy9zcmMvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJYMTEtMS4zLm9yaWcvc3JjL01ha2VmaWxlLmFtCisrKysgbGliWDExLTEuMy9zcmMvTWFrZWZpbGUuYW0KK0BAIC0zMzUsNiArMzM1LDggQEAgaWYgVEhSU1RVQlMKKyBsaWJYMTFfbGFfU09VUkNFUys9VUlUaHJTdHVicy5jCisgZW5kaWYKKyAKKytsaWJYMTFfbGFfU09VUkNFUys9WDE4TkNNU3N0dWJzLmMKKysKKyB4MTFkYXRhZGlyID0gQFgxMV9EQVRBRElSQAorIHgxMWRhdGFfREFUQSA9IFhLZXlzeW1EQiBYRXJyb3JEQgorIAorQEAgLTM0Miw2ICszNDQsNyBAQCBFWFRSQV9ESVNUID0gXAorIAkkKHgxMWRhdGFfREFUQSkgXAorIAlvczJTdHVicy5jIFwKKy0JVUlUaHJTdHVicy5jIAorKwlVSVRoclN0dWJzLmMgXAorKwlYMThOQ01Tc3R1YnMuYworIAorIGlmIFhDQgorIGxpYlgxMV9sYV9TT1VSQ0VTICs9IFwKK0luZGV4OiBsaWJYMTEtMS4zL3NyYy9sb2NraW5nLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJYMTEtMS4zLm9yaWcvc3JjL2xvY2tpbmcuYworKysrIGxpYlgxMS0xLjMvc3JjL2xvY2tpbmcuYworQEAgLTY2LDcgKzY2LDkgQEAgaW4gdGhpcyBTb2Z0d2FyZSB3aXRob3V0IHByaW9yIHdyaXR0ZW4gYQorICNkZWZpbmUgTlVNX0ZSRUVfQ1ZMUyA0CisgCisgLyogaW4gbGNXcmFwLmMgKi8KKysjaWZkZWYgWExPQ0FMRQorIGV4dGVybiBMb2NrSW5mb1B0ciBfWGkxOG5fbG9jazsKKysjZW5kaWYKKyAKKyAjaWZkZWYgV0lOMzIKKyBzdGF0aWMgRFdPUkQgX1hfVGxzSW5kZXggPSAoRFdPUkQpLTE7CitAQCAtNTk0LDkgKzU5NiwxMSBAQCBTdGF0dXMgWEluaXRUaHJlYWRzKHZvaWQpCisgICAgIF9YZ2xvYmFsX2xvY2sgPSAmZ2xvYmFsX2xvY2s7CisgICAgIHhtdXRleF9pbml0KF9YZ2xvYmFsX2xvY2stPmxvY2spOworICAgICB4bXV0ZXhfc2V0X25hbWUoX1hnbG9iYWxfbG9jay0+bG9jaywgIlhsaWIgZ2xvYmFsIik7CisrI2lmZGVmIFhMT0NBTEUKKyAgICAgX1hpMThuX2xvY2sgPSAmaTE4bl9sb2NrOworICAgICB4bXV0ZXhfaW5pdChfWGkxOG5fbG9jay0+bG9jayk7CisgICAgIHhtdXRleF9zZXRfbmFtZShfWGkxOG5fbG9jay0+bG9jaywgIlhsaWIgaTE4biIpOworKyNlbmRpZgorICAgICBfWExvY2tNdXRleF9mbiA9IF9YTG9ja011dGV4OworICAgICBfWFVubG9ja011dGV4X2ZuID0gX1hVbmxvY2tNdXRleDsKKyAgICAgX1hDcmVhdGVNdXRleF9mbiA9IF9YQ3JlYXRlTXV0ZXg7CmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExL2Rpc2FibGVfdGVzdHMucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExL2Rpc2FibGVfdGVzdHMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFiNmNkZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTEvZGlzYWJsZV90ZXN0cy5wYXRjaApAQCAtMCwwICsxLDIyIEBACitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW2Rpc2FibGUgZmVhdHVyZV0KKworU2lnbmVkLW9mZi1ieTogTWFya28gTGluZHF2aXN0IDxjYXpmaTc0QGdtYWlsLmNvbT4KKworVXBkYXRlIGZvciAxLjYuMQorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKworZGlmZiAtTnVyZCBsaWJYMTEtMS41LjAvbmxzL01ha2VmaWxlLmFtIGxpYlgxMS0xLjUuMC9ubHMvTWFrZWZpbGUuYW0KKy0tLSBsaWJYMTEtMS41LjAvbmxzL01ha2VmaWxlLmFtCTIwMTItMDYtMDIgMDk6Mzc6MTguMDAwMDAwMDAwICswMzAwCisrKysgbGliWDExLTEuNS4wL25scy9NYWtlZmlsZS5hbQkyMDEzLTAxLTAyIDE2OjEwOjI0Ljk2MDE1NjEzMSArMDIwMAorQEAgLTM2LDExICszNiw2IEBACisgICAgICAgICA8IGxvY2FsZS5kaXIubDEgPiBsb2NhbGUuZGlyLmwyCisJY2F0IGxvY2FsZS5kaXIubDIgbG9jYWxlLmRpci5sMSA+IGxvY2FsZS5kaXIKKworLWlmIEhBVkVfUEVSTAorLUxPR19DT01QSUxFUiA9ICQoUEVSTCkKKy1URVNUUyA9IGNvbXBvc2UtY2hlY2sucGwKKy1lbmRpZiBIQVZFX1BFUkwKKy0KKworICMgUGVyLWxvY2FsZSBkYXRhIGZpbGVzCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExL2ZpeC1kaXNhYmxlLXhsb2NhbGUuZGlmZiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTEvZml4LWRpc2FibGUteGxvY2FsZS5kaWZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3YzM5ODQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExL2ZpeC1kaXNhYmxlLXhsb2NhbGUuZGlmZgpAQCAtMCwwICsxLDE3IEBACitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogWGlhb2ZlbmcgWWFuIDx4aWFvZmVuZy55YW5Ad2luZHJpdmVyLmNvbT4KKy0tLSBsaWJYMTEtWDExUjcuMC0xLjAuMC9zcmMvRm9udC5jLm9yaWcJMjAwNi0wMy0xMiAxODozNTo0Mi4wMDAwMDAwMDAgKzAxMDAKKysrKyBsaWJYMTEtWDExUjcuMC0xLjAuMC9zcmMvRm9udC5jCTIwMDYtMDMtMTIgMTg6NDA6MjcuMDAwMDAwMDAwICswMTAwCitAQCAtNzAxLDcgKzcwMSwxMSBAQAorICAgICB9CisgICAgIGlmIChsIC0gMiAtIChwIC0gY2hhcnNldCkgPCAwKQorIAlyZXR1cm4gMDsKKysjaWZkZWYgWExPQ0FMRQorICAgICBpZiAoX1hsY05Db21wYXJlSVNPTGF0aW4xKG5hbWUgKyBsIC0gMiAtIChwIC0gY2hhcnNldCksIGNoYXJzZXQsIHAgLSBjaGFyc2V0KSkKKysjZWxzZQorKyAgICBpZiAoc3RybmNhc2VjbXAobmFtZSArIGwgLSAyIC0gKHAgLSBjaGFyc2V0KSwgY2hhcnNldCwgcCAtIGNoYXJzZXQpKQorKyNlbmRpZgorIAlyZXR1cm4gMDsKKyAgICAgaWYgKHN0cmxlbihwICsgMSkgKyBsIC0gMSA+PSBzaXplb2YoYnVmKSAtIDEpCisgCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS9maXgtdXRmOC13cm9uZy1kZWZpbmUucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExL2ZpeC11dGY4LXdyb25nLWRlZmluZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjM0N2Y1Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMS9maXgtdXRmOC13cm9uZy1kZWZpbmUucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IFhpYW9mZW5nIFlhbiA8eGlhb2ZlbmcueWFuQHdpbmRyaXZlci5jb20+CisKKyMKKyMgUGF0Y2ggbWFuYWdlZCBieSBodHRwOi8vd3d3LmhvbGdlcnNjaHVyaWcuZGUvcGF0Y2hlci5odG1sCisjCisKKy0tLSBsaWJYMTEtWDExUjcuMC0xLjAuMC9pbmNsdWRlL1gxMS9YbGliLmh+Zml4LXV0Zjgtd3JvbmctZGVmaW5lCisrKysgbGliWDExLVgxMVI3LjAtMS4wLjAvaW5jbHVkZS9YMTEvWGxpYi5oCitAQCAtMTAzLDcgKzEwMyw3IEBACisgCisgLyogQVBJIG1lbnRpb25pbmcgIlVURjgiIG9yICJ1dGY4IiBpcyBhbiBYRnJlZTg2IGV4dGVuc2lvbiwgaW50cm9kdWNlZCBpbgorICAgIE5vdmVtYmVyIDIwMDAuIEl0cyBwcmVzZW5jZSBpcyBpbmRpY2F0ZWQgdGhyb3VnaCB0aGUgZm9sbG93aW5nIG1hY3JvLiAqLworLSNkZWZpbmUgWF9IQVZFX1VURjhfU1RSSU5HIDEKKysjdW5kZWYgWF9IQVZFX1VURjhfU1RSSU5HCisgCisgdHlwZWRlZiBjaGFyICpYUG9pbnRlcjsKKyAKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTEvbGliWDExLUFkZC1taXNzaW5nLU5VTEwtY2hlY2sucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExL2xpYlgxMS1BZGQtbWlzc2luZy1OVUxMLWNoZWNrLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyYWJmN2MKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieDExL2xpYlgxMS1BZGQtbWlzc2luZy1OVUxMLWNoZWNrLnBhdGNoCkBAIC0wLDAgKzEsNzIgQEAKK0Zyb20gNGQ4NWQ1ZjNiZDhhZmFjODkzNzM4ZmQ4OGUxOWQ4Y2I1Y2Y5OThmZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERyZXcgTW9zZWxleSA8ZHJld19tb3NlbGV5QG1lbnRvci5jb20+CitEYXRlOiBTdW4sIDI3IEp1bCAyMDE0IDEzOjEwOjA3IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIGxpYlgxMTogQWRkIG1pc3NpbmcgTlVMTCBjaGVjayBvbiBpbSBhbmQgaW0tPm1ldGhvZHMKKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCAoYzgyN2VkY2QxYzRhN2Y5MjBhYTI1MjA4MDgzYjViNThkNjBkMmI0NCkKK1NpZ25lZC1vZmYtYnk6IERyZXcgTW9zZWxleSA8ZHJld19tb3NlbGV5QG1lbnRvci5jb20+CisKKy0tLQorIHNyYy94bGliaTE4bi9JQ1dyYXAuYyB8IDUgKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC1ydSBsaWJYMTEtMS42LjItb3JpZy9zcmMveGxpYmkxOG4vSUNXcmFwLmMgbGliWDExLTEuNi4yL3NyYy94bGliaTE4bi9JQ1dyYXAuYworLS0tIGxpYlgxMS0xLjYuMi1vcmlnL3NyYy94bGliaTE4bi9JQ1dyYXAuYwkyMDE0LTA3LTI3IDEzOjM4OjI5LjU4NjY2NjQ0OSAtMDQwMAorKysrIGxpYlgxMS0xLjYuMi9zcmMveGxpYmkxOG4vSUNXcmFwLmMJMjAxNC0wNy0yNyAxMzo0MTozOS42NzE2MDkwMzAgLTA0MDAKK0BAIC0xNjksNyArMTY5LDcgQEAKKyAgICAgdmFfbGlzdCB2YXI7CisgICAgIGludCAgICAgdG90YWxfY291bnQ7CisgICAgIFhJTUFyZyAqYXJnczsKKy0gICAgY2hhciAgICpyZXQ7CisrICAgIGNoYXIgICAqcmV0ID0gTlVMTDsKKyAKKyAgICAgLyoKKyAgICAgICogc28gY291bnQgdGhlIHN0dWZmIGRhbmdsaW5nIGhlcmUKK0BAIC0xODUsNyArMTg1LDggQEAKKyAgICAgX1hJTVZhVG9OZXN0ZWRMaXN0KHZhciwgdG90YWxfY291bnQsICZhcmdzKTsKKyAgICAgdmFfZW5kKHZhcik7CisgCistICAgIHJldCA9ICgqaW0tPm1ldGhvZHMtPnNldF92YWx1ZXMpIChpbSwgYXJncyk7CisrICAgIGlmIChpbSAmJiBpbS0+bWV0aG9kcykKKysJcmV0ID0gKCppbS0+bWV0aG9kcy0+c2V0X3ZhbHVlcykgKGltLCBhcmdzKTsKKyAgICAgWGZyZWUoYXJncyk7CisgICAgIHJldHVybiByZXQ7CisgfQorQEAgLTE5Niw3ICsxOTcsNyBAQAorICAgICB2YV9saXN0IHZhcjsKKyAgICAgaW50ICAgICB0b3RhbF9jb3VudDsKKyAgICAgWElNQXJnICphcmdzOworLSAgICBjaGFyICAgKnJldDsKKysgICAgY2hhciAgICpyZXQgPSBOVUxMOworIAorICAgICAvKgorICAgICAgKiBzbyBjb3VudCB0aGUgc3R1ZmYgZGFuZ2xpbmcgaGVyZQorQEAgLTIxMiw3ICsyMTMsOCBAQAorICAgICBfWElNVmFUb05lc3RlZExpc3QodmFyLCB0b3RhbF9jb3VudCwgJmFyZ3MpOworICAgICB2YV9lbmQodmFyKTsKKyAKKy0gICAgcmV0ID0gKCppbS0+bWV0aG9kcy0+Z2V0X3ZhbHVlcykgKGltLCBhcmdzKTsKKysgICAgaWYgKGltICYmIGltLT5tZXRob2RzKQorKwlyZXQgPSAoKmltLT5tZXRob2RzLT5nZXRfdmFsdWVzKSAoaW0sIGFyZ3MpOworICAgICBYZnJlZShhcmdzKTsKKyAgICAgcmV0dXJuIHJldDsKKyB9CitAQCAtMjI4LDcgKzIzMCw3IEBACisgICAgIHZhX2xpc3QgdmFyOworICAgICBpbnQgICAgIHRvdGFsX2NvdW50OworICAgICBYSU1BcmcgKmFyZ3M7CistICAgIFhJQyAgICAgaWM7CisrICAgIFhJQyAgICAgaWMgPSBOVUxMOworIAorICAgICAvKgorICAgICAgKiBzbyBjb3VudCB0aGUgc3R1ZmYgZGFuZ2xpbmcgaGVyZQorQEAgLTI0NCw3ICsyNDYsOCBAQAorICAgICBfWElNVmFUb05lc3RlZExpc3QodmFyLCB0b3RhbF9jb3VudCwgJmFyZ3MpOworICAgICB2YV9lbmQodmFyKTsKKyAKKy0gICAgaWMgPSAoWElDKSAoKmltLT5tZXRob2RzLT5jcmVhdGVfaWMpIChpbSwgYXJncyk7CisrICAgIGlmIChpbSAmJiBpbS0+bWV0aG9kcykKKysJaWMgPSAoWElDKSAoKmltLT5tZXRob2RzLT5jcmVhdGVfaWMpIChpbSwgYXJncyk7CisgICAgIFhmcmVlKGFyZ3MpOworICAgICBpZiAoaWMpIHsKKyAJaWMtPmNvcmUubmV4dCA9IGltLT5jb3JlLmljX2NoYWluOwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYngxMV8xLjYuMy5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTFfMS42LjMuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGU1MzFjNwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4MTFfMS42LjMuYmIKQEAgLTAsMCArMSwxMSBAQAorcmVxdWlyZSBsaWJ4MTEuaW5jCitpbmhlcml0IGdldHRleHQKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitTUkNfVVJJICs9ICJmaWxlOi8vZGlzYWJsZV90ZXN0cy5wYXRjaCBcCisgICAgICAgICAgICBmaWxlOi8vbGliWDExLUFkZC1taXNzaW5nLU5VTEwtY2hlY2sucGF0Y2ggXAorICAgICAgICAgICAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyZTM2YjczZjhhNDIxNDMxNDJkZGE4MTI5ZjAyZTRlMCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjZjMxYTdjMzlmMmY1MmU4ZWJkMGRiOTU2NDAzODRlNjM0NTFmOWIwMTRlZWQyYmI3ZjVkZTAzZThhZGM4MTExIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhhdV8xLjAuOC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4YXVfMS4wLjguYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmVmOGJmYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4YXVfMS4wLjguYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJYYXU6IFggQXV0aG9yaXR5IERhdGFiYXNlIGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gImxpYnhhdSBwcm92aWRlcyB0aGUgbWFpbiBpbnRlcmZhY2VzIHRvIHRoZSBYMTEgXAorYXV0aG9yaXNhdGlvbiBoYW5kbGluZywgd2hpY2ggY29udHJvbHMgYXV0aG9yaXNhdGlvbiBmb3IgWCBjb25uZWN0aW9ucywgXAorYm90aCBjbGllbnQtc2lkZSBhbmQgc2VydmVyLXNpZGUuIgorCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworaW5oZXJpdCBnZXR0ZXh0CisKK0xJQ0VOU0UgPSAiTUlULXN0eWxlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NzkwOGUzNDI0OTExOTg0MDEzMjFjZWMxOTU2ODA3ZWMiCisKK0RFUEVORFMgKz0gIiB4cHJvdG8iCitQUk9WSURFUyA9ICJ4YXUiCisKK1BFID0gIjEiCisKK1hPUkdfUE4gPSAibGliWGF1IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2ODVmOGFiYmZmYTZkMTQ1YzBmOTMwZjAwNzAzYjIxYiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmZGQ0NzczMjBhZWI1Y2RkNjcyNzI4Mzg3MjJkNmI3ZDU0NDg4N2RmZTdkZTQ2ZTFlN2NjMGMyN2MyYmVhNGYyIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjYWxpYnJhdGUvZml4LXhjYi5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y2FsaWJyYXRlL2ZpeC14Y2IucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDYxNDg4MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y2FsaWJyYXRlL2ZpeC14Y2IucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1RoZXJlIGlzIG5vIGV4dHJhIHJlcGx5IGRhdGEgYW5kIGlmIHdlIHNheSBub3QgdG8gZGlzZ2FyZCBpdCwgeGNiCit0aHJvd3MgZmF0YWwgYXNzZXJ0cy4KKworUlAgLSAyNi8xMS8wOQorCitJbmRleDogZ2l0L3hjYWxpYnJhdGUuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdpdC5vcmlnL3hjYWxpYnJhdGUuYwkyMDA5LTExLTI2IDA4OjExOjQ4LjAwMDAwMDAwMCArMDAwMAorKysrIGdpdC94Y2FsaWJyYXRlLmMJMjAwOS0xMS0yNiAwODowOTo1NS4wMDAwMDAwMDAgKzAwMDAKK0BAIC0yMTYsNyArMjE2LDcgQEAKKyAgIHJlcS0+cmVxVHlwZSA9IGluZm8tPmNvZGVzLT5tYWpvcl9vcGNvZGU7CisgICByZXEtPnhDYWxpYnJhdGVSZXFUeXBlID0gWF9YQ2FsaWJyYXRlUmF3TW9kZTsKKyAgIHJlcS0+b24gPSBlbmFibGU7CistICBpZiAoIV9YUmVwbHkgKGRweSwgKHhSZXBseSAqKSAmcmVwLCAwLCB4RmFsc2UpKSAKKysgIGlmICghX1hSZXBseSAoZHB5LCAoeFJlcGx5ICopICZyZXAsIDAsIHhUcnVlKSkgCisgICAgIHsKKyAgICAgICBVbmxvY2tEaXNwbGF5IChkcHkpOworICAgICAgIFN5bmNIYW5kbGUgKCk7CitAQCAtMjQwLDcgKzI0MCw3IEBACisgICByZXEtPnhDYWxpYnJhdGVSZXFUeXBlID0gWF9YQ2FsaWJyYXRlU2NyZWVuVG9Db29yZDsKKyAgIHJlcS0+eCA9ICp4OworICAgcmVxLT55ID0gKnk7CistICBpZiAoIV9YUmVwbHkgKGRweSwgKHhSZXBseSAqKSAmcmVwLCAwLCB4RmFsc2UpKSAKKysgIGlmICghX1hSZXBseSAoZHB5LCAoeFJlcGx5ICopICZyZXAsIDAsIHhUcnVlKSkgCisgICAgIHsKKyAgICAgICBVbmxvY2tEaXNwbGF5IChkcHkpOworICAgICAgIFN5bmNIYW5kbGUgKCk7CmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNhbGlicmF0ZV9naXQuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNhbGlicmF0ZV9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDU1ZTg2OQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y2FsaWJyYXRlX2dpdC5iYgpAQCAtMCwwICsxLDIyIEBACitTVU1NQVJZID0gIlhDYWxpYnJhdGU6IFRvdWNoc2NyZWVuIGNhbGlicmF0aW9uIGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gImxpYlhDYWxpYnJhdGUgaXMgYSBsaWJyYXJ5IGZvciBwZXJmb3JtaW5nIHRvdWNoc2NyZWVuIFwKK2NhbGlicmF0aW9uIHdpdGggdGhlIGtkcml2ZSB0c2xpYiB0b3VjaHNjcmVlbiBkcml2ZXIuIgorCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworTElDRU5TRSA9ICJNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly94Y2FsaWJyYXRlLmg7ZW5kbGluZT0yMTttZDU9ZmE1NzJkZjY0MzlmMGYyMzVmMjYxMmYzNzBmMTUzZDcgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8veGNhbGlicmF0ZS5jO2VuZGxpbmU9MjE7bWQ1PWZhNTcyZGY2NDM5ZjBmMjM1ZjI2MTJmMzcwZjE1M2Q3IgorCitERVBFTkRTID0gInZpcnR1YWwvbGlieDExIGNhbGlicmF0ZXByb3RvIGxpYnhleHQiCisKK1NSQ1JFViA9ICIyMDlkODNhZjYxZWQzOGEwMDJjODA5NjM3N2RlYWMyOTJiM2UzOTZjIgorUFYgPSAiMC4wK2dpdCR7U1JDUFZ9IgorCitTUkNfVVJJID0gImdpdDovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC94b3JnL2xpYi9saWJYQ2FsaWJyYXRlIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC14Y2IucGF0Y2giCisKK1MgPSAiJHtXT1JLRElSfS9naXQiCisKK0ZJTEVTXyR7UE59LWxvY2FsZSArPSAiJHtkYXRhZGlyfS9YMTEvbG9jYWxlIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjYi5pbmMgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNiLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZTMxZjIwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjYi5pbmMKQEAgLTAsMCArMSwzMCBAQAorU1VNTUFSWSA9ICJYQ0I6IFRoZSBYIHByb3RvY29sIEMgYmluZGluZyBsaWJyYXJ5IgorREVTQ1JJUFRJT04gPSAiVGhlIFggcHJvdG9jb2wgQy1sYW5ndWFnZSBCaW5kaW5nIChYQ0IpIGlzIGEgcmVwbGFjZW1lbnQgXAorZm9yIFhsaWIgZmVhdHVyaW5nIGEgc21hbGwgZm9vdHByaW50LCBsYXRlbmN5IGhpZGluZywgZGlyZWN0IGFjY2VzcyB0byBcCit0aGUgcHJvdG9jb2wsIGltcHJvdmVkIHRocmVhZGluZyBzdXBwb3J0LCBhbmQgZXh0ZW5zaWJpbGl0eS4iCitIT01FUEFHRSA9ICJodHRwOi8veGNiLmZyZWVkZXNrdG9wLm9yZyIKK0JVR1RSQUNLRVIgPSAiaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9lbnRlcl9idWcuY2dpP3Byb2R1Y3Q9WENCIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1NFQ1RJT04gPSAieDExL2xpYnMiCitMSUNFTlNFID0gIk1JVC1YIgorCitERVBFTkRTID0gInhjYi1wcm90byB4cHJvdG8gbGlieGF1IHhjYi1wcm90by1uYXRpdmUgbGlicHRocmVhZC1zdHVicyIKKworU1JDX1VSSSA9ICJodHRwOi8veGNiLmZyZWVkZXNrdG9wLm9yZy9kaXN0L2xpYnhjYi0ke1BWfS50YXIuYnoyIFwKKyAgICAgICAgICAgZmlsZTovL3hjYmluY2x1ZGVkaXIucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vZGlzYWJsZS1jaGVjay5wYXRjaCIKKworUEFDS0FHRVNfRFlOQU1JQyA9ICJebGlieGNiLS4qIgorCitGSUxFU18ke1BOfSA9ICIke2xpYmRpcn0vbGlieGNiLnNvLioiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBweXRob25uYXRpdmUgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKKyMgVGhlIGxpYnhhdSBhbmQgb3RoZXJzIHJlcXVpcmVzIHgxMSBpbiBESVNUUk9fRkVBVFVSRVMKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCisKK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kICgpIHsKKyAgICBkb19zcGxpdF9wYWNrYWdlcyhkLCAnJHtsaWJkaXJ9JywgJ15saWJ4Y2ItKC4qKVwuc29cLi4qJCcsICdsaWJ4Y2ItJXMnLCAnWENCIGxpYnJhcnkgbW9kdWxlIGZvciAlcycsIGFsbG93X2xpbmtzPVRydWUpCit9CmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNiL2Rpc2FibGUtY2hlY2sucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNiL2Rpc2FibGUtY2hlY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTY0MWMwZgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y2IvZGlzYWJsZS1jaGVjay5wYXRjaApAQCAtMCwwICsxLDI1IEBACitUaGUgImNoZWNrIiBwYWNrYWdlIGlzIGNoZWNrZWQgZm9yIHdpdGhvdXQgYW4gZXhwbGljaXQgZW5hYmxlL2Rpc2FibGUgb3B0aW9uLAord2hpY2ggY2FuIGxlYWQgdG8gbm9uLWRldGVybWluaXN0aWMgYnVpbGQgaXNzdWVzIHdpdGggYm90aCBjaGVjayBhbmQgbGlieHNsdC4KKworQXMgdGhlIHVuaXQgdGVzdCBzdWl0ZSBpcyBtaW5pbWFsIGF0IHByZXNlbnQsIHNpbXBseSBkaXNhYmxlIHRoZSB0ZXN0IHN1aXRlLiAgSW4KK3RoZSBmdXR1cmUgaWYgdGhlIHRlc3Qgc3VpdGUgaXMgZXhwYW5kZWQgdGhpcyBjYW4gYmUgbWFkZSBjb25kaXRpb25hbCBvbiB0aGUKK3B0ZXN0IERJU1RST19GRUFUVVJFLgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggNmQ3YzlhNS4uMjJjY2ViOSAxMDA2NDQKKy0tLSBhL2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtMjEsNyArMjEsOCBAQCBBQ19VU0VfU1lTVEVNX0VYVEVOU0lPTlMKKyAKKyBBTV9QQVRIX1BZVEhPTihbMi42XSkKKyAKKy1QS0dfQ0hFQ0tfTU9EVUxFUyhDSEVDSywgW2NoZWNrID49IDAuOS40XSwgW0hBVkVfQ0hFQ0s9eWVzXSwgW0hBVkVfQ0hFQ0s9bm9dKQorK2RubCBQS0dfQ0hFQ0tfTU9EVUxFUyhDSEVDSywgW2NoZWNrID49IDAuOS40XSwgW0hBVkVfQ0hFQ0s9eWVzXSwgW0hBVkVfQ0hFQ0s9bm9dKQorK0hBVkVfQ0hFQ0s9bm8KKyBBTV9DT05ESVRJT05BTChIQVZFX0NIRUNLLCB0ZXN0IHgkSEFWRV9DSEVDSyA9IHh5ZXMpCisgCisgQUNfQ09ORklHX0hFQURFUlMoW3NyYy9jb25maWcuaF0pCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNiL3hjYmluY2x1ZGVkaXIucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNiL3hjYmluY2x1ZGVkaXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDYyOTdjMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y2IveGNiaW5jbHVkZWRpci5wYXRjaApAQCAtMCwwICsxLDI4IEBACitBcyBwa2ctY29uZmlnIC0tdmFyaWFibGUgZG9lc24ndCByZXNwZWN0IHRoZSBzeXNyb290LCBhZGQgdGhlIHBrZy1jb25maWcgc3lzcm9vdAordG8gdGhlIGJlZ2lubmluZyBvZiB2YXJpYWJsZXMgdGhhdCBhcmUgdXNlZCBsYXRlciBvbiB0aGUgaG9zdC4KKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitTaWduZWQtb2ZmLWJ5OiBSb3NzIEJ1cnRvbiA8cm9zcy5idXJ0b25AaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCA5NGRhNGY3Li5kMjljZDZhIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC02NCw3ICs2NCw3IEBAIEFDX1NVQlNUKE5FRURFRCkKKyAKKyAjIEZpbmQgdGhlIHhjYi1wcm90byBwcm90b2NvbCBkZXNjcmlwdGlvbnMKKyBBQ19NU0dfQ0hFQ0tJTkcoWENCUFJPVE9fWENCSU5DTFVERURJUikKKy1YQ0JQUk9UT19YQ0JJTkNMVURFRElSPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPXhjYmluY2x1ZGVkaXIgeGNiLXByb3RvYAorK1hDQlBST1RPX1hDQklOQ0xVREVESVI9JFBLR19DT05GSUdfU1lTUk9PVF9ESVIvYCRQS0dfQ09ORklHIC0tdmFyaWFibGU9eGNiaW5jbHVkZWRpciB4Y2ItcHJvdG9gCisgQUNfTVNHX1JFU1VMVCgkWENCUFJPVE9fWENCSU5DTFVERURJUikKKyBBQ19TVUJTVChYQ0JQUk9UT19YQ0JJTkNMVURFRElSKQorIAorQEAgLTc0LDcgKzc0LDcgQEAgQUNfU1VCU1QoWENCUFJPVE9fVkVSU0lPTikKKyAKKyAjIEZpbmQgdGhlIHhjYmdlbiBQeXRob24gcGFja2FnZQorIEFDX01TR19DSEVDS0lORyhYQ0JQUk9UT19YQ0JQWVRIT05ESVIpCistWENCUFJPVE9fWENCUFlUSE9ORElSPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPXB5dGhvbmRpciB4Y2ItcHJvdG9gCisrWENCUFJPVE9fWENCUFlUSE9ORElSPSRQS0dfQ09ORklHX1NZU1JPT1RfRElSL2AkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPXB5dGhvbmRpciB4Y2ItcHJvdG9gCisgQUNfTVNHX1JFU1VMVCgkWENCUFJPVE9fWENCUFlUSE9ORElSKQorIEFDX1NVQlNUKFhDQlBST1RPX1hDQlBZVEhPTkRJUikKKyAKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y2JfMS4xMS5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y2JfMS4xMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTYyNzAyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjYl8xLjExLmJiCkBAIC0wLDAgKzEsMTAgQEAKK2luY2x1ZGUgbGlieGNiLmluYworCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ3NjNiMDgxY2IxMGMyMjM0MzViMDFlMDBkYzBhYmE3IgorCisKK0RFUEVORFMgKz0gImxpYnhkbWNwIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNWE4NzNlYmQzODNkMWE2MDYxMmRkNmVjNmI0MmM3ODEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDM2MzVkNzAwNDViOWVkZTkwNzc4ZTY3NTE2MTM1ODI4YTU3ZGU4N2FjNTA4Zjk4NzAyNGY0M2MwMzYyMGZmNyIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y2JfZ2l0LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjYl9naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTg2NjM2ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y2JfZ2l0LmJiCkBAIC0wLDAgKzEsMTAgQEAKK0RFRkFVTFRfUFJFRkVSRU5DRSA9ICItMSIKKworaW5jbHVkZSBsaWJ4Y2IuaW5jCisKK1NSQ1JFViA9ICI2MjVlZDU5NmNhZTZkZDgxNzVhZWI2Y2I2ZjI2Nzg0OTI4MDQyZjIyIgorUFYgPSAiMS4xLjkwLjErZ2l0ciR7U1JDUFZ9IgorUFIgPSAicjEiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hjYi9saWJ4Y2IiCitTID0gIiR7V09SS0RJUn0vZ2l0IgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjb21wb3NpdGUvY2hhbmdlLWluY2x1ZGUtb3JkZXIucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGNvbXBvc2l0ZS9jaGFuZ2UtaW5jbHVkZS1vcmRlci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MDMzMWY2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjb21wb3NpdGUvY2hhbmdlLWluY2x1ZGUtb3JkZXIucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorVXBzdHJlYW0tU3RhdHVzOiBJbmFwcHJvcHJpYXRlIFtjb25maWd1cmF0aW9uXQorCitUaGlzIHBhdGNoIG1ha2VzIHRoZSBidWlsZCB1c2UgaXRzIG93biBYY29tcG9zaXRlLmggb3ZlciByYXRoZXIgdGhhbiBhbgorb2xkZXIgWGNvbXBvc2l0ZS5oIHRoYXQgbWlnaHQgYWxyZWFkeSBiZSBpbnN0YWxsZWQgaW4gdGhlIHN0YWdpbmcgZGlyLgorCitJbmRleDogbGliWGNvbXBvc2l0ZS0wLjQuMy9zcmMvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBsaWJYY29tcG9zaXRlLTAuNC4zLm9yaWcvc3JjL01ha2VmaWxlLmFtCTIwMTAtMDYtMzAgMjI6NDI6NTMuMDAwMDAwMDAwIC0wNzAwCisrKysgbGliWGNvbXBvc2l0ZS0wLjQuMy9zcmMvTWFrZWZpbGUuYW0JMjAxMC0xMS0yMyAyMzowOTozNC41NDQzMjI5MzAgLTA4MDAKK0BAIC0xOSw3ICsxOSw3IEBACisgIyAgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUgorICMgIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCisgCistQU1fQ0ZMQUdTID0gJChDV0FSTkZMQUdTKSAkKFhDT01QT1NJVEVfQ0ZMQUdTKSAkKFhGSVhFU19DRkxBR1MpCisrQU1fQ0ZMQUdTID0gLUkkKHRvcF9zcmNkaXIpL2luY2x1ZGUgJChDV0FSTkZMQUdTKSAkKFhDT01QT1NJVEVfQ0ZMQUdTKSAkKFhGSVhFU19DRkxBR1MpCisgQU1fQ1BQRkxBR1MgPSAtSSQodG9wX3NyY2RpcikvaW5jbHVkZQorIAorIGxpYl9MVExJQlJBUklFUyA9IGxpYlhjb21wb3NpdGUubGEKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y29tcG9zaXRlXzAuNC40LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjb21wb3NpdGVfMC40LjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzAyNTcxOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Y29tcG9zaXRlXzAuNC40LmJiCkBAIC0wLDAgKzEsMjggQEAKK1NVTU1BUlkgPSAiWGNvbXBvc2l0ZTogWCBDb21wb3NpdGUgZXh0ZW5zaW9uIGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gIlRoZSBjb21wb3NpdGUgZXh0ZW5zaW9uIHByb3ZpZGVzIHRocmVlIHJlbGF0ZWQgXAorbWVjaGFuaXNtczogcGVyLWhpZXJhcmNoeSBzdG9yYWdlLCBhdXRvbWF0aWMgc2hhZG93IHVwZGF0ZSwgYW5kIGV4dGVybmFsIFwKK3BhcmVudC4gIEluIHBlci1oaWVyYXJjaHkgc3RvcmFnZSwgdGhlIHJlbmRlcmluZyBvZiBhbiBlbnRpcmUgaGllcmFyY2h5IFwKK29mIHdpbmRvd3MgaXMgcmVkaXJlY3RlZCB0byBvZmYtc2NyZWVuIHN0b3JhZ2UuICBJbiBhdXRvbWF0aWMgc2hhZG93IFwKK3VwZGF0ZSwgd2hlbiBhIGhpZXJhcmNoeSBpcyByZW5kZXJlZCBvZmYtc2NyZWVuLCB0aGUgWCBzZXJ2ZXIgcHJvdmlkZXMgXAorYW4gYXV0b21hdGljIG1lY2hhbmlzbSBmb3IgcHJlc2VudGluZyB0aG9zZSBjb250ZW50cyB3aXRoaW4gdGhlIHBhcmVudCBcCit3aW5kb3cuICBJbiBleHRlcm5hbCBwYXJlbnQsIGEgbWVjaGFuaXNtIGZvciBwcm92aWRpbmcgcmVkaXJlY3Rpb24gb2YgXAorY29tcG9zaXRpbmcgdHJhbnNmb3JtYXRpb25zIHRocm91Z2ggYSBjbGllbnQuIgorCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworTElDRU5TRSA9ICJNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zZjI5MDdhYWQ1NDFmNmYyMjZmYmM1OGNjMWIzY2RmMSIKKworREVQRU5EUyArPSAiIGNvbXBvc2l0ZXByb3RvIHZpcnR1YWwvbGlieDExIGxpYnhmaXhlcyBsaWJ4ZXh0IgorUFJPVklERVMgPSAieGNvbXBvc2l0ZSIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitQRSA9ICIxIgorCitYT1JHX1BOID0gImxpYlhjb21wb3NpdGUiCisKK1NSQ19VUkkgKz0gIiBmaWxlOi8vY2hhbmdlLWluY2x1ZGUtb3JkZXIucGF0Y2giCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJmN2EyMThkY2JmNmYwODQ4NTk5YzZjMzZmYzY1YzUxYSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJlZGUyNTBjZDIwN2Q4YmVlNGEzMzgyNjVjMzAwN2Q3YTY4ZDVhY2E3OTFiNmFjNDFhZjE4ZTlhMmFlYjM0MTc4IgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjdXJzb3JfMS4xLjE0LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhjdXJzb3JfMS4xLjE0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4ZTRmMjQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGN1cnNvcl8xLjEuMTQuYmIKQEAgLTAsMCArMSwyMiBAQAorU1VNTUFSWSA9ICJYY3Vyc29yOiBYIEN1cnNvciBtYW5hZ2VtZW50IGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gIlhjdXJzb3IgaXMgYSBzaW1wbGUgbGlicmFyeSBkZXNpZ25lZCB0byBoZWxwIGxvY2F0ZSBhbmQgXAorbG9hZCBjdXJzb3JzLiBDdXJzb3JzIGNhbiBiZSBsb2FkZWQgZnJvbSBmaWxlcyBvciBtZW1vcnkuIEEgbGlicmFyeSBvZiBcCitjb21tb24gY3Vyc29ycyBleGlzdHMgd2hpY2ggbWFwIHRvIHRoZSBzdGFuZGFyZCBYIGN1cnNvciBuYW1lcy4gQ3Vyc29ycyBcCitjYW4gZXhpc3QgaW4gc2V2ZXJhbCBzaXplcyBhbmQgdGhlIGxpYnJhcnkgYXV0b21hdGljYWxseSBwaWNrcyB0aGUgYmVzdCBcCitzaXplLiIKKworcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCisKK0xJQ0VOU0UgPSAiTUlULXN0eWxlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ODkwMmU2NjQzZjdiY2Q3NzkzYjIzZGNkNWQ4MDMxYTQiCisKK0RFUEVORFMgKz0gImxpYnhyZW5kZXIgbGlieGZpeGVzIgorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1BFID0gIjEiCisKK1hPUkdfUE4gPSAibGliWGN1cnNvciIKKworU1JDX1VSSVttZDVzdW1dID0gIjFlN2MxN2FmYmJjZTgzZTIyMTU5MTcwNDdjNTdkMWIzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjliYzZhY2IyMWNhMTRkYTUxYmRhNWJjOTEyYzg5NTViYzZlNWU0MzNmMGFiMDBjNWU4YmVmODQyNTk2YzMzZGYiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGRhbWFnZV8xLjEuNC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4ZGFtYWdlXzEuMS40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzZDcwMDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGRhbWFnZV8xLjEuNC5iYgpAQCAtMCwwICsxLDI4IEBACitTVU1NQVJZID0gIlhkYW1hZ2U6IFggRGFtYWdlIGV4dGVuc2lvbiBsaWJyYXJ5IgorCitERVNDUklQVElPTiA9ICInRGFtYWdlJyBpcyBhIHRlcm0gdGhhdCBkZXNjcmliZXMgY2hhbmdlcyBtYWtlIHRvIHBpeGVsIFwKK2NvbnRlbnRzIG9mIHdpbmRvd3MgYW5kIHBpeG1hcHMuICBEYW1hZ2UgYWNjdW11bGF0ZXMgYXMgZHJhd2luZyBvY2N1cnMgXAoraW4gdGhlIGRyYXdhYmxlLiAgRWFjaCBkcmF3aW5nIG9wZXJhdGlvbiAnZGFtYWdlcycgb25lIG9yIG1vcmUgXAorcmVjdGFuZ3VsYXIgYXJlYXMgd2l0aGluIHRoZSBkcmF3YWJsZS4gIFRoZSByZWN0YW5nbGVzIGFyZSBndWFyYW50ZWVkIHRvIFwKK2luY2x1ZGUgdGhlIHNldCBvZiBwaXhlbHMgbW9kaWZpZWQgYnkgZWFjaCBvcGVyYXRpb24sIGJ1dCBtYXkgaW5jbHVkZSBcCitzaWduaWZpY2FudGx5IG1vcmUgdGhhbiBqdXN0IHRob3NlIHBpeGVscy4gIFRoZSBEQU1BR0UgZXh0ZW5zaW9uIGFsbG93cyBcCithcHBsaWNhdGlvbnMgdG8gZWl0aGVyIHJlY2VpdmUgdGhlIHJhdyByZWN0YW5nbGVzIGFzIGEgc3RyZWFtIG9mIGV2ZW50cywgXAorb3IgdG8gaGF2ZSB0aGVtIHBhcnRpYWxseSBwcm9jZXNzZWQgd2l0aGluIHRoZSBYIHNlcnZlciB0byByZWR1Y2UgdGhlIFwKK2Ftb3VudCBvZiBkYXRhIHRyYW5zbWl0dGVkIGFzIHdlbGwgYXMgcmVkdWNlIHRoZSBwcm9jZXNzaW5nIGxhdGVuY3kgb25jZSBcCit0aGUgcmVwYWludCBvcGVyYXRpb24gaGFzIHN0YXJ0ZWQuIgorCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT05ZmUxMDFmMzBkZDI0MTM0Y2Y0MzE0Njg2MzI0MTg2OCIKKworREVQRU5EUyArPSAidmlydHVhbC9saWJ4MTEgZGFtYWdlcHJvdG8gbGlieGZpeGVzIgorUFJPVklERVMgPSAieGRhbWFnZSIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgorCitQRSA9ICIxIgorCitYT1JHX1BOID0gImxpYlhkYW1hZ2UiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIwY2YyOTJkZTJhOWZhMmU5YTkzOWFlZmRlNjhmZDM0ZiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3YzNmZTdjNjU3ZTgzNTQ3ZjQ4MjJiZmRlMzBhOTBkODQ1MjRlZmI1NjM2NTQ0ODc2ODQwOWI3N2YwNTM1NWFkIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhkbWNwXzEuMS4yLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhkbWNwXzEuMS4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0ZTMwZDkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGRtY3BfMS4xLjIuYmIKQEAgLTAsMCArMSwyOSBAQAorU1VNTUFSWSA9ICJYRE1DUDogWCBEaXNwbGF5IE1hbmFnZXIgQ29udHJvbCBQcm90b2NvbCBsaWJyYXJ5IgorCitERVNDUklQVElPTiA9ICJUaGUgcHVycG9zZSBvZiB0aGUgWCBEaXNwbGF5IE1hbmFnZXIgQ29udHJvbCBQcm90b2NvbCBcCisoWERNQ1ApIGlzIHRvIHByb3ZpZGUgYSB1bmlmb3JtIG1lY2hhbmlzbSBmb3IgYW4gYXV0b25vbW91cyBkaXNwbGF5IHRvIFwKK3JlcXVlc3QgbG9naW4gc2VydmljZSBmcm9tIGEgcmVtb3RlIGhvc3QuIEFuIFggdGVybWluYWwgKHNjcmVlbiwgXAora2V5Ym9hcmQsIG1vdXNlLCBwcm9jZXNzb3IsIG5ldHdvcmsgaW50ZXJmYWNlKSBpcyBhIHByaW1lIGV4YW1wbGUgb2YgYW4gXAorYXV0b25vbW91cyBkaXNwbGF5LiIKKworcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCisKK2luaGVyaXQgZ2V0dGV4dAorCitMSUNFTlNFID0gIk1JVC1zdHlsZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ1NTlmYjI2ZTEyOTYyNjAyMmUwNTJhNWU2ZTBlMTIzIgorCitERVBFTkRTICs9ICJ4cHJvdG8iCitQUk9WSURFUyA9ICJ4ZG1jcCIKKworUEUgPSAiMSIKKworWE9SR19QTiA9ICJsaWJYZG1jcCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMThhYTVjMTI3OWIwMWY5ZDE4ZTMyOTk5Njk2NjViMmUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiODFmZTA5ODY3OTE4ZmZmMjU4Mjk2ZTFlMWUxNTlmMGRjNjM5Y2IzMGQyMDFjNTM1MTlmMjVhYjczYWY0ZTRlMiIKKworUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUdbYXJjNF0gPSAiYWNfY3ZfbGliX2JzZF9hcmM0cmFuZG9tX2J1Zj15ZXMsYWNfY3ZfbGliX2JzZF9hcmM0cmFuZG9tX2J1Zj1ubyxsaWJic2QiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGV4dF8xLjMuMy5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4ZXh0XzEuMy4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmYThiNjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGV4dF8xLjMuMy5iYgpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIlhFeHQ6IFggRXh0ZW5zaW9uIGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gImxpYlhleHQgcHJvdmlkZXMgYW4gWCBXaW5kb3cgU3lzdGVtIGNsaWVudCBpbnRlcmZhY2UgdG8gXAorc2V2ZXJhbCBleHRlbnNpb25zIHRvIHRoZSBYIHByb3RvY29sLiAgVGhlIHN1cHBvcnRlZCBwcm90b2NvbCBleHRlbnNpb25zIFwKK2FyZSBET1VCTEUtQlVGRkVSLCBEUE1TLCBFeHRlbmRlZC1WaXN1YWwtSW5mb3JtYXRpb24sIExCWCwgTUlUX1NITSwgXAorTUlUX1NVTkRSWS1OT05TVEFOREFSRCwgTXVsdGktQnVmZmVyaW5nLCBTRUNVUklUWSwgU0hBUEUsIFNZTkMsIFRPRy1DVVAsIFwKK1hDLUFQUEdST1VQLCBYQy1NSVNDLCBYVEVTVC4gIGxpYlhleHQgYWxzbyBwcm92aWRlcyBhIHNtYWxsIHNldCBvZiBcCit1dGlsaXR5IGZ1bmN0aW9ucyB0byBhaWQgYXV0aG9ycyBvZiBjbGllbnQgQVBJcyBmb3IgWCBwcm90b2NvbCBcCitleHRlbnNpb25zLiIKKworcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCisKK0xJQ0VOU0UgPSAiTUlULXN0eWxlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ODc5Y2UyNjY3ODU0MTRiZDFjYmMzYmMyZjRkOWQ3YzgiCisKK0RFUEVORFMgKz0gInhwcm90byB2aXJ0dWFsL2xpYngxMSB4ZXh0cHJvdG8gbGlieGF1IGxpYnhkbWNwIgorUFJPVklERVMgPSAieGV4dCIKKworUEUgPSAiMSIKKworWE9SR19QTiA9ICJsaWJYZXh0IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1MmRmN2M0YzFmMGJhZGQ5ZjgyYWIxMjRmYjMyZWI5NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiNTE4ZDRkMzMyMjMxZjMxMzM3MWZkZWZhYzU5ZTM3NzZmNGYwODIzYmNiMjNjZjdjNzMwNWJmYjU3YjE2ZTM1IgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhleHRfZ2l0LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhleHRfZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3OTkxODYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGV4dF9naXQuYmIKQEAgLTAsMCArMSwyNCBAQAorcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWEV4dDogWCBFeHRlbnNpb24gbGlicmFyeSIKKworREVTQ1JJUFRJT04gPSAibGliWGV4dCBwcm92aWRlcyBhbiBYIFdpbmRvdyBTeXN0ZW0gY2xpZW50IGludGVyZmFjZSB0byBcCitzZXZlcmFsIGV4dGVuc2lvbnMgdG8gdGhlIFggcHJvdG9jb2wuICBUaGUgc3VwcG9ydGVkIHByb3RvY29sIGV4dGVuc2lvbnMgXAorYXJlIERPVUJMRS1CVUZGRVIsIERQTVMsIEV4dGVuZGVkLVZpc3VhbC1JbmZvcm1hdGlvbiwgTEJYLCBNSVRfU0hNLCBcCitNSVRfU1VORFJZLU5PTlNUQU5EQVJELCBNdWx0aS1CdWZmZXJpbmcsIFNFQ1VSSVRZLCBTSEFQRSwgU1lOQywgVE9HLUNVUCwgXAorWEMtQVBQR1JPVVAsIFhDLU1JU0MsIFhURVNULiAgbGliWGV4dCBhbHNvIHByb3ZpZGVzIGEgc21hbGwgc2V0IG9mIFwKK3V0aWxpdHkgZnVuY3Rpb25zIHRvIGFpZCBhdXRob3JzIG9mIGNsaWVudCBBUElzIGZvciBYIHByb3RvY29sIFwKK2V4dGVuc2lvbnMuIgorCitERVBFTkRTICs9ICJ4cHJvdG8gdmlydHVhbC9saWJ4MTEgeGV4dHByb3RvIGxpYnhhdSBsaWJ4ZG1jcCIKK1BST1ZJREVTID0gInhleHQiCitTUkNSRVYgPSAiZDFmM2JjNzdhNDhjOGU0Mjc3MTU3OWUzZmRmMzM3MGIzNWQzMjA5ZCIKK1BFID0gIjEiCitQViA9ICIxLjAuOTkuMStnaXRyJHtTUkNQVn0iCisKK1hPUkdfUE4gPSAibGliWGV4dCIKKworU1JDX1VSSSA9ICJnaXQ6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy9saWIvJHtYT1JHX1BOfSIKK1MgPSAiJHtXT1JLRElSfS9naXQvIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Zml4ZXNfNS4wLjEuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGZpeGVzXzUuMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlMjc0MGMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGZpeGVzXzUuMC4xLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiWEZpeGVzOiBYIEZpeGVzIGV4dGVuc2lvbiBsaWJyYXJ5IgorCitERVNDUklQVElPTiA9ICJYIGFwcGxpY2F0aW9ucyBoYXZlIG9mdGVuIG5lZWRlZCB0byB3b3JrIGFyb3VuZCB2YXJpb3VzIFwKK3Nob3J0Y29taW5ncyBpbiB0aGUgY29yZSBYIHdpbmRvdyBzeXN0ZW0uICBUaGlzIGV4dGVuc2lvbiBpcyBkZXNpZ25lZCB0byBcCitwcm92aWRlIHRoZSBtaW5pbWFsIHNlcnZlci1zaWRlIHN1cHBvcnQgbmVjZXNzYXJ5IHRvIGVsaW1pbmF0ZSBwcm9ibGVtcyBcCitjYXVzZWQgYnkgdGhlc2Ugd29ya2Fyb3VuZHMuIgorCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworTElDRU5TRSA9ICJNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0zYzFjZTQyYzMzNGE2ZjVjY2NiMDI3NzU1NmEwNTNlMCIKKworREVQRU5EUyArPSAidmlydHVhbC9saWJ4MTEgeHByb3RvIGZpeGVzcHJvdG8geGV4dHByb3RvIgorCitQRSA9ICIxIgorCitYT1JHX1BOID0gImxpYlhmaXhlcyIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitTUkNfVVJJW21kNXN1bV0gPSAiYjk4NWI4NWY4YjkzODZjODVkZGNmZTEwNzM5MDZiNGQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjNiZWMwODUwODRmYTNjYWFlZTUxODA0OTBkZDg3MWYxZWIyMDIwYmE5ZTliMzlhMzBmOTM2OTNmZmMzNDc2NyIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Zm9udF8xLjUuMS5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4Zm9udF8xLjUuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjZlMzNjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhmb250XzEuNS4xLmJiCkBAIC0wLDAgKzEsMjIgQEAKK1NVTU1BUlkgPSAiWEZvbnQ6IFggRm9udCByYXN0ZXJpc2F0aW9uIGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gImxpYlhmb250IHByb3ZpZGVzIHZhcmlvdXMgc2VydmljZXMgZm9yIFggc2VydmVycywgbW9zdCBcCitub3RhYmx5IGZvbnQgc2VsZWN0aW9uIGFuZCByYXN0ZXJpc2F0aW9uICh0aHJvdWdoIGV4dGVybmFsIGxpYnJhcmllcyBcCitzdWNoIGFzIGZyZWV0eXBlKS4iCisKK3JlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYworCitMSUNFTlNFID0gIk1JVCAmIE1JVC1zdHlsZSAmIEJTRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWE0NmM4MDQwZjJmNzM3YmNkMGM0MzVmZWIyYWIxYzJjIgorCitERVBFTkRTICs9ICJmcmVldHlwZSB4dHJhbnMgZm9udHNwcm90byBsaWJmb250ZW5jIHpsaWIiCitQUk9WSURFUyA9ICJ4Zm9udCIKKworUEUgPSAiMSIKKworWE9SR19QTiA9ICJsaWJYZm9udCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5NmY3NmJhOTRiNGM5MDkyMzBiYWMxZTJkY2Q1NTFjNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJiNzA4OTg1MjdjNzNmOTc1OGY1NTFiYmFiNjEyYWY2MTFiOGEwOTYyMjAyODI5NTY4ZDk0ZjNlZGY0ZDg2MDk4IgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhmdF8yLjMuMi5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4ZnRfMi4zLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTk2N2NkYwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4ZnRfMi4zLjIuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJYRnQ6IFggRnJlZVR5cGUgbGliYXJ5IgorCitERVNDUklQVElPTiA9ICJYZnQgd2FzIGRlc2lnbmVkIHRvIHByb3ZpZGUgZ29vZCBzdXBwb3J0IGZvciBzY2FsYWJsZSBcCitmb250cywgYW5kIHRvIGRvIHNvIGVmZmljaWVudGx5LiAgVW5saWtlIHRoZSBjb3JlIGZvbnRzIHN5c3RlbSwgaXQgXAorc3VwcG9ydHMgZmVhdHVyZXMgc3VjaCBhcyBhbnRpLWFsaWFzaW5nIGFuZCBzdWItcGl4ZWwgcmFzdGVyaXNhdGlvbi4gXAorUGVyaGFwcyBtb3JlIGltcG9ydGFudGx5LCBpdCBnaXZlcyBhcHBsaWNhdGlvbnMgZnVsbCBjb250cm9sIG92ZXIgdGhlIFwKK3dheSBnbHlwaHMgYXJlIHJlbmRlcmVkLCBtYWtpbmcgZmluZSB0eXBlc2V0dGluZyBhbmQgV1lTSVdJRyBkaXNwbGF5IFwKK3Bvc3NpYmxlLiBGaW5hbGx5LCBpdCBhbGxvd3MgYXBwbGljYXRpb25zIHRvIHVzZSBmb250cyB0aGF0IGFyZSBub3QgXAoraW5zdGFsbGVkIHN5c3RlbS13aWRlIGZvciBkaXNwbGF5aW5nIGRvY3VtZW50cyB3aXRoIGVtYmVkZGVkIGZvbnRzLiAgWGZ0IFwKK2lzIG5vdCBjb21wYXRpYmxlIHdpdGggdGhlIGNvcmUgZm9udHMgc3lzdGVtOiB1c2FnZSBvZiBYZnQgcmVxdWlyZXMgXAorZmFpcmx5IGV4dGVuc2l2ZSBjaGFuZ2VzIHRvIHRvb2xraXRzICh1c2VyLWludGVyZmFjZSBsaWJyYXJpZXMpLiIKKworcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTBiOTBiNjBlYjMwZjY1ZmM5YzI2NzNkN2NmNTllMjQiCisKK0RFUEVORFMgKz0gInZpcnR1YWwvbGlieDExIGxpYnhyZW5kZXIgZnJlZXR5cGUgZm9udGNvbmZpZyIKK1BST1ZJREVTID0gInhmdCIKKworUEUgPSAiMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjMzMWIzYTJhM2ExYTc4YjViNDRjZmJkNDNmODZmY2ZlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImY1YTNjODI0NzYxZGYzNTFjYTkxODI3YWMyMjEwOTA5NDNlZjI4YjI0ODU3MzQ4NjA1MGRlODlmNGJmY2RjNGMiCisKK1hPUkdfUE4gPSAibGliWGZ0IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworcHl0aG9uICgpIHsKKyAgICAgICAgaWYgZC5nZXRWYXIoJ0RFQklBTl9OQU1FUycsIFRydWUpOgorICAgICAgICAgICAgZC5zZXRWYXIoJ1BLR18ke1BOfScsICcke01MUFJFRklYfWxpYnhmdDInKQorfQpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhpXzEuNy40LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhpXzEuNy40LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3MDMzYTMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGlfMS43LjQuYmIKQEAgLTAsMCArMSwyMSBAQAorcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWEk6IFggSW5wdXQgZXh0ZW5zaW9uIGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gImxpYnhpIGlzIGFuIGV4dGVuc2lvbiB0byB0aGUgWDExIHByb3RvY29sIHRvIHN1cHBvcnQgXAoraW5wdXQgZGV2aWNlcyBvdGhlciB0aGFuIHRoZSBjb3JlIFgga2V5Ym9hcmQgYW5kIHBvaW50ZXIuICBJdCBhbGxvd3MgXAorY2xpZW50IHByb2dyYW1zIHRvIHNlbGVjdCBpbnB1dCBmcm9tIHRoZXNlIGRldmljZXMgaW5kZXBlbmRlbnRseSBmcm9tIFwKK2VhY2ggb3RoZXIgYW5kIGluZGVwZW5kZW50bHkgZnJvbSB0aGUgY29yZSBkZXZpY2VzLiIKKworTElDRU5TRSA9ICJNSVQgJiBNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0xN2IwNjQ3ODlmYWI5MzZhMWM1OGM0ZTEzZDk2NWIwZiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvWElHZXREZXZGb2N1cy5jO2VuZGxpbmU9MjM7bWQ1PWNkZmIwZDQzNWEzM2VjNTdlYTBkMWU4ZTM5NWI3MjlmIgorCitERVBFTkRTICs9ICJsaWJ4ZXh0IGlucHV0cHJvdG8gbGlieGZpeGVzIgorCitQRSA9ICIxIgorCitYT1JHX1BOID0gImxpYlhpIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOWM0YTY5YzM0YjE5ZWMxZTQyMTJlODQ5NTQ5NTQ0Y2IiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmNmZmMyNjg2NjE4ZGMxODAzNzI1NjM2Y2Q5MmIzNjM0MmM1MTJkYzYwYTdhMzVjYmEzNGJmNzE5MmE0MjI0NCIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4aW5lcmFtYV8xLjEuMy5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4aW5lcmFtYV8xLjEuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjdjODA0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhpbmVyYW1hXzEuMS4zLmJiCkBAIC0wLDAgKzEsMjAgQEAKK3JlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYworCitTVU1NQVJZID0gIlhpbmVyYW1hOiBYaW5lcmFtYSBleHRlbnNpb24gbGlicmFyeSIKKworREVTQ1JJUFRJT04gPSAiWGluZXJhbWEgaXMgYSBzaW1wbGUgbGlicmFyeSBkZXNpZ25lZCB0byBpbnRlcmZhY2UgdGhlIFwKK1hpbmVyYW1hIEV4dGVuc2lvbiBmb3IgcmV0cmlldmluZyBpbmZvcm1hdGlvbiBhYm91dCBwaHlzaWNhbCBvdXRwdXQgXAorZGV2aWNlcyB3aGljaCBtYXkgYmUgY29tYmluZWQgaW50byBhIHNpbmdsZSBsb2dpY2FsIFggc2NyZWVuLiIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02ZjRmNjM0ZDE2NDNhMmU2MzhiYmEzZmNkMTljMjUzNiBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zcmMvWGluZXJhbWEuYztiZWdpbmxpbmU9MjtlbmRsaW5lPTI1O21kNT1mY2VmMjczYmZiNjYzMzkyNTY0MTFkZDA2ZWE3OWMwMiIKKworREVQRU5EUyArPSAibGlieGV4dCB4aW5lcmFtYXByb3RvIgorUFJPVklERVMgPSAieGluZXJhbWEiCitQRSA9ICIxIgorCitYT1JHX1BOID0gImxpYlhpbmVyYW1hIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTMzNmRjNDZhZTNiZjVmODFjMjQ3ZjcxMzE0NjFlZmQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiN2E0NTY5OWYxNzczMDk1YTNmODIxZTQ5MWNiZDVlMTBjODg3YzVhNWZjZTVkOGQzZmNlZDE1YzJmZjc2OThlMiIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4a2Jjb21tb25fMC41LjAuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGtiY29tbW9uXzAuNS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExNjZiNTcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieGtiY29tbW9uXzAuNS4wLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiR2VuZXJpYyBYS0Iga2V5bWFwIGxpYnJhcnkiCitERVNDUklQVElPTiA9ICJsaWJ4a2Jjb21tb24gaXMgYSBrZXltYXAgY29tcGlsZXIgYW5kIHN1cHBvcnQgbGlicmFyeSB3aGljaCBcCitwcm9jZXNzZXMgYSByZWR1Y2VkIHN1YnNldCBvZiBrZXltYXBzIGFzIGRlZmluZWQgYnkgdGhlIFhLQiBzcGVjaWZpY2F0aW9uLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cueGtiY29tbW9uLm9yZyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTA5NDU3YjE1NmUzMTU1OTcyYWJlYmNhYWFhMGNiNDM0IgorTElDRU5TRSA9ICJNSVQgJiBNSVQtc3R5bGUiCisKK0RFUEVORFMgPSAidXRpbC1tYWNyb3MgZmxleC1uYXRpdmUgYmlzb24tbmF0aXZlIgorCitTUkNfVVJJID0gImh0dHA6Ly94a2Jjb21tb24ub3JnL2Rvd25sb2FkLyR7QlBOfS0ke1BWfS50YXIueHoiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIyZTFmYWVhZmNjNjA5YzMwYWYzYTU2MWE5MWU4NDE1OCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI5MGJkNzgyNDc0MmI5YTZmNTJhNmNmODBlMmNhZGQ2ZjUzNDljZjYwMGEzNThkMDgyNjA3NzI2MTViODlkMTljIgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1kb2NzIgorCitQQUNLQUdFQ09ORklHID89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3gxMScsICd4MTEnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1t4MTFdID0gIi0tZW5hYmxlLXgxMSwtLWRpc2FibGUteDExLGxpYnhjYiB4a2V5Ym9hcmQtY29uZmlnLCIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4a2JmaWxlXzEuMC45LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhrYmZpbGVfMS4wLjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzlhMzQ0YwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4a2JmaWxlXzEuMC45LmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiWEtCOiBYIEtleWJvYXJkIEZpbGUgbWFuaXB1bGF0aW9uIGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gImxpYnhrYmZpbGUgcHJvdmlkZXMgYW4gaW50ZXJmYWNlIHRvIHJlYWQgYW5kIG1hbmlwdWxhdGUgXAorZGVzY3JpcHRpb24gZmlsZXMgZm9yIFhLQiwgdGhlIFgxMSBrZXlib2FyZCBjb25maWd1cmF0aW9uIGV4dGVuc2lvbi4iCisKK3JlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYworCitMSUNFTlNFID0gIk1JVC1zdHlsZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThiZTczNjdmN2U1ZDYwNWE0MjZmNzZiYjM3ZDRkNjFmIgorCitERVBFTkRTICs9ICJ2aXJ0dWFsL2xpYngxMSBrYnByb3RvIgorCitQRSA9ICIxIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworU1JDX1VSSVttZDVzdW1dID0gIjRhNGNmZWFmMjRkYWIxYjk5MTkwMzQ1NWQ2ZDdkNDA0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjUxODE3ZTA1MzA5NjE5NzVkOTUxM2I3NzM5NjBiNGVkZDI3NWY3ZDVjNzIyOTNkNWExNTFlZDRmNDJhZWIxNmEiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieG11XzEuMS4yLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhtdV8xLjEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMDNiYWVjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhtdV8xLjEuMi5iYgpAQCAtMCwwICsxLDMyIEBACitTVU1NQVJZID0gIlhtdSBhbmQgWG11dTogWCBNaXNjZWxsYW5lb3VzIFV0aWxpdHkgbGlicmFyaWVzIgorCitERVNDUklQVElPTiA9ICJUaGUgWG11IExpYnJhcnkgaXMgYSBjb2xsZWN0aW9uIG9mIG1pc2NlbGxhbmVvdXMgKHNvbWUgXAorbWlnaHQgc2F5IHJhbmRvbSkgdXRpbGl0eSBmdW5jdGlvbnMgdGhhdCBoYXZlIGJlZW4gdXNlZnVsIGluIGJ1aWxkaW5nIFwKK3ZhcmlvdXMgYXBwbGljYXRpb25zIGFuZCB3aWRnZXRzLiBUaGlzIGxpYnJhcnkgaXMgcmVxdWlyZWQgYnkgdGhlIEF0aGVuYSBcCitXaWRnZXRzLiBBIHN1YnNldCBvZiB0aGUgZnVuY3Rpb25zIHRoYXQgZG8gbm90IHJlbHkgb24gdGhlIEF0aGVuYSBcCitXaWRnZXRzIChsaWJYYXcpIG9yIFggVG9vbGtpdCBJbnN0cmluc2ljcyAobGliWHQpIGFyZSBwcm92aWRlZCBpbiBhIFwKK3NlY29uZCBsaWJyYXJ5LCBsaWJYbXV1LiIKKworCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworTElDRU5TRSA9ICJNSVQgJiBNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kZWYzZDhlNGU5YzQyMDA0ZjE5NDFmYTIyZjAxZGMxOCIKKworREVQRU5EUyArPSAibGlieHQgbGlieGV4dCIKK1BST1ZJREVTID0gInhtdSIKKworUEUgPSAiMSIKKworWE9SR19QTiA9ICJsaWJYbXUiCisKK0xFQURfU09OQU1FID0gImxpYlhtdSIKKworUEFDS0FHRVMgPSsgImxpYnhtdXUiCisKK0ZJTEVTX2xpYnhtdXUgPSAiJHtsaWJkaXJ9L2xpYlhtdXUuc28uKiIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0MWQ5MmFiNjI3ZGZhMDY1NjgwNzYwNDNmM2UwODllNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3NTZlZGM3YzM4MzI1NGVlZjhiNGUxYjczM2MzYmYxZGMwNjFiNTIzYzlmOTgzM2FjNzA1ODM3OGI4MzQ5ZDBiIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhwbV8zLjUuMTEuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHBtXzMuNS4xMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDU4NzRjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhwbV8zLjUuMTEuYmIKQEAgLTAsMCArMSwyNyBAQAorcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCisKKyMgbGlieHBtIHJlcXVpcmVzIHhnZXR0ZXh0IHRvIGJ1aWxkCitpbmhlcml0IGdldHRleHQKKworU1VNTUFSWSA9ICJYcG06IFggUGl4bWFwIGV4dGVuc2lvbiBsaWJyYXJ5IgorCitERVNDUklQVElPTiA9ICJsaWJYcG0gcHJvdmlkZXMgc3VwcG9ydCBhbmQgY29tbW9uIG9wZXJhdGlvbiBmb3IgdGhlIFhQTSBcCitwaXhtYXAgZm9ybWF0LCB3aGljaCBpcyBjb21tb25seSB1c2VkIGluIGxlZ2FjeSBYIGFwcGxpY2F0aW9ucy4gIFhQTSBpcyBcCithbiBleHRlbnNpb24gb2YgdGhlIG1vbm9jaHJvbWUgWEJNIGJpdG1hcCBzcGVjaWZpY2llZCBpbiB0aGUgWCBcCitwcm90b2NvbC4iCisKK0xJQ0VOU0UgPSAiQlNEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTFmNDI3MGIwMTJlY2Q0YWIxYTE2NGY1ZjRlZDZjZjciCitERVBFTkRTICs9ICJsaWJ4ZXh0IGxpYnNtIGxpYnh0IgorUEUgPSAiMSIKKworWE9SR19QTiA9ICJsaWJYcG0iCisKK1BBQ0tBR0VTID0rICJzeHBtIGN4cG0iCitGSUxFU19jeHBtID0gIiR7YmluZGlyfS9jeHBtIgorRklMRVNfc3hwbSA9ICIke2JpbmRpcn0vc3hwbSIKKworU1JDX1VSSVttZDVzdW1dID0gIjc2OWVlMTJhNDM2MTFjZGViZDM4MDk0ZWFmODNmM2YwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM1YmRhZmE1MWQxYWUzMDA4NmZhYzAxYWI4M2JlOGQ0N2ZlMTE3YjIzOGQzNDM3ZjhlOTY1NDM0MDkwZTA0MWMiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhyYW5kcl8xLjUuMC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4cmFuZHJfMS41LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWJiYmFlNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4cmFuZHJfMS41LjAuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJYUmFuZFI6IFggUmVzaXplLCBSb3RhdGUgYW5kIFJlZmxlY3QgZXh0ZW5zaW9uIGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gIlRoZSBYIFJlc2l6ZSwgUm90YXRlIGFuZCBSZWZsZWN0IEV4dGVuc2lvbiwgY2FsbGVkIFJhbmRSIFwKK2ZvciBzaG9ydCwgYnJpbmdzIHRoZSBhYmlsaXR5IHRvIHJlc2l6ZSwgcm90YXRlIGFuZCByZWZsZWN0IHRoZSByb290IFwKK3dpbmRvdyBvZiBhIHNjcmVlbi4gSXQgaXMgYmFzZWQgb24gdGhlIFggUmVzaXplIGFuZCBSb3RhdGUgRXh0ZW5zaW9uIGFzIFwKK3NwZWNpZmllZCBpbiB0aGUgUHJvY2VlZGluZ3Mgb2YgdGhlIDIwMDEgVXNlbml4IFRlY2huaWNhbCBDb25mZXJlbmNlIFwKK1tSQU5EUl0uIgorCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworTElDRU5TRSA9ICJNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1jOWQxYTIxMThhNmNkNTcyNzUyMWRiOGU3YTJmZWU2OSIKKworREVQRU5EUyArPSAidmlydHVhbC9saWJ4MTEgcmFuZHJwcm90byBsaWJ4cmVuZGVyIGxpYnhleHQiCisKK1BFID0gIjEiCisKK1hPUkdfUE4gPSAibGliWHJhbmRyIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzMDk3NjI4NjdlNDFjNmZkODEzZGE4ODBkOGExYmM5MyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2Zjg2NDk1OWI3ZmMzNWRiMTE3NTRiMjcwZDcxMTA2ZWY1YjVjZjM2MzQyNmFhNTg1ODljYjhhYzgyNjZkZTU4IgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhyZW5kZXJfMC45LjkuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHJlbmRlcl8wLjkuOS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZmRlMDQwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhyZW5kZXJfMC45LjkuYmIKQEAgLTAsMCArMSwyMyBAQAorU1VNTUFSWSA9ICJYUmVuZGVyOiBYIFJlbmRlcmluZyBFeHRlbnNpb24gbGlicmFyeSIKKworREVTQ1JJUFRJT04gPSAiVGhlIFggUmVuZGVyaW5nIEV4dGVuc2lvbiAoUmVuZGVyKSBpbnRyb2R1Y2VzIGRpZ2l0YWwgXAoraW1hZ2UgY29tcG9zaXRpb24gYXMgdGhlIGZvdW5kYXRpb24gb2YgYSBuZXcgcmVuZGVyaW5nIG1vZGVsIHdpdGhpbiB0aGUgXAorWCBXaW5kb3cgU3lzdGVtLiBSZW5kZXJpbmcgZ2VvbWV0cmljIGZpZ3VyZXMgaXMgYWNjb21wbGlzaGVkIGJ5IFwKK2NsaWVudC1zaWRlIHRlc3NlbGxhdGlvbiBpbnRvIGVpdGhlciB0cmlhbmdsZXMgb3IgdHJhcGV6b2lkcy4gIFRleHQgaXMgXAorZHJhd24gYnkgbG9hZGluZyBnbHlwaHMgaW50byB0aGUgc2VydmVyIGFuZCByZW5kZXJpbmcgc2V0cyBvZiB0aGVtLiIKKworcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCisKK0xJQ0VOU0UgPSAiTUlULXN0eWxlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZDhiYzcxOTg2ZDNiOWIzNjM5ZjZkZmQ2ZmFjOGYxOTYiCisKK0RFUEVORFMgKz0gInZpcnR1YWwvbGlieDExIHJlbmRlcnByb3RvIHhwcm90byB4ZG1jcCIKKworUEUgPSAiMSIKKworWE9SR19QTiA9ICJsaWJYcmVuZGVyIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI1ZGI5Mjk2MmIxMjRjYTNhODE0N2RhYWU0YWRiZDYyMiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmYzJmZTU3OTgwYTE0MDkyNDI2ZGZmY2QxZjJkOWRlMDk4N2I5ZDQwYWRlYTY2M2JkNzBkNjM0MmMwZTliZTFhIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhyZXNfMS4wLjcuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHJlc18xLjAuNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzA0YzQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhyZXNfMS4wLjcuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJYUmVzOiBYIFJlc291cmNlIGV4dGVuc2lvbiBsaWJyYXJ5IgorCitERVNDUklQVElPTiA9ICJsaWJYUmVzIHByb3ZpZGVzIGFuIFggV2luZG93IFN5c3RlbSBjbGllbnQgaW50ZXJmYWNlIHRvIFwKK3RoZSBSZXNvdXJjZSBleHRlbnNpb24gdG8gdGhlIFggcHJvdG9jb2wuICBUaGUgUmVzb3VyY2UgZXh0ZW5zaW9uIGFsbG93cyBcCitmb3IgWCBjbGllbnRzIHRvIHNlZSBhbmQgbW9uaXRvciB0aGUgWCByZXNvdXJjZSB1c2FnZSBvZiB2YXJpb3VzIGNsaWVudHMgXAorKHBpeG1hcHMsIGV0IGFsKS4iCisKK3JlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYworCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PThjODk0NDFhOGRmMjYxYmRjNTY1ODc0NjVlMTNjN2ZhIgorCitERVBFTkRTICs9ICJsaWJ4ZXh0IHJlc291cmNlcHJvdG8iCisKK1BFID0gIjEiCisKK1hPUkdfUE4gPSAibGliWHJlcyIKKworU1JDX1VSSVttZDVzdW1dID0gIjQ1ZWYyOTIwNmE2YjU4MjU0YzgxYmVhMjhlYzZjOTVmIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI2ODk5MDU0YWE4N2Y4MWIxN2JlY2M2OGU4NjQ1YjI0MGYxNDA0NjRjZjkwYzQyNjE2ZWJiMjYzZWM1ZmEwZTUiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHNjcm5zYXZlcl8xLjIuMi5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4c2NybnNhdmVyXzEuMi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1NGU1ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHNjcm5zYXZlcl8xLjIuMi5iYgpAQCAtMCwwICsxLDIzIEBACityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYc2NybnNhdmVyOiBYIFNjcmVlbiBTYXZlciBleHRlbnNpb24gbGlicmFyeSIKKworREVTQ1JJUFRJT04gPSAiVGhlIFggV2luZG93IFN5c3RlbSBwcm92aWRlcyBzdXBwb3J0IGZvciBjaGFuZ2luZyB0aGUgXAoraW1hZ2Ugb24gYSBkaXNwbGF5IHNjcmVlbiBhZnRlciBhIHVzZXItc2V0dGFibGUgcGVyaW9kIG9mIGluYWN0aXZpdHkgdG8gXAorYXZvaWQgYnVybmluZyB0aGUgY2F0aG9kZSByYXkgdHViZSBwaG9zcGhvcnMuIEhvd2V2ZXIsIG5vIGludGVyZmFjZXMgYXJlIFwKK3Byb3ZpZGVkIGZvciB0aGUgdXNlciB0byBjb250cm9sIHRoZSBpbWFnZSB0aGF0IGlzIGRyYXduLiBUaGlzIGV4dGVuc2lvbiBcCithbGxvd3MgYW4gZXh0ZXJuYWwgXCJzY3JlZW4gc2F2ZXJcIiBjbGllbnQgdG8gZGV0ZWN0IHdoZW4gdGhlIGFsdGVybmF0ZSBcCitpbWFnZSBpcyB0byBiZSBkaXNwbGF5ZWQgYW5kIHRvIHByb3ZpZGUgdGhlIGdyYXBoaWNzLiIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yMWZkMTU0ZWU3NTc4MTM2MzJhZGE4NzFhMzQxMTNmYiIKKworREVQRU5EUyArPSAibGlieGV4dCBzY3Juc2F2ZXJwcm90byIKK1BST1ZJREVTID0gImxpYnhzcyIKK1JSRVBMQUNFU18ke1BOfSA9ICJsaWJ4c3MiCitQRSA9ICIxIgorCitYT1JHX1BOID0gImxpYlhTY3JuU2F2ZXIiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI3YTc3M2IxNjE2NWUzOWU5Mzg2NTBiY2M5MDI3YzFkNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI4ZmYxZWZhNzM0MWM3ZjM0YmNmOWIxN2M4OTY0OGQ2MzI1ZGRhYWUyMmUzOTA0ZTA5MTc5NGUwYjQ0MjZjZTFkIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhzaG1mZW5jZV8xLjIuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHNobWZlbmNlXzEuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTM0YjFmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnhzaG1mZW5jZV8xLjIuYmIKQEAgLTAsMCArMSwxNyBAQAorU1VNTUFSWSA9ICJTaGFyZWQgbWVtb3J5ICdTeW5jRmVuY2UnIHN5bmNocm9uaXphdGlvbiBwcmltaXRpdmUiCisKK0RFU0NSSVBUSU9OID0gIlRoaXMgbGlicmFyeSBvZmZlcnMgYSBDUFUtYmFzZWQgc3luY2hyb25pemF0aW9uIHByaW1pdGl2ZSBjb21wYXRpYmxlIFwKK3dpdGggdGhlIFggU3luY0ZlbmNlIG9iamVjdHMgdGhhdCBjYW4gYmUgc2hhcmVkIGJldHdlZW4gcHJvY2Vzc2VzIFwKK3VzaW5nIGZpbGUgZGVzY3JpcHRvciBwYXNzaW5nLiIKKworcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCisKK0xJQ0VOU0UgPSAiTUlULXN0eWxlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDdlNTA4Y2EyODBmZGU5NzkwNmVhY2I3Nzg5MmMzYWMiCisKK0RFUEVORFMgKz0gInZpcnR1YWwvbGlieDExIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI2NjY2MmU3Njg5OTExMmMwZjk5ZTIyZjJmYzc3NWE3ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkMjFiMmQxZmQ3OGMxZWZiZTFmMmMxNmRhZTFjYjIzZjhmZDIzMWRjZjg5MTQ2NWI4ZGViZTYzNmE5MDU0YjBjIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnh0L2xpYnh0X2ZpeF9mb3JfeDMyLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnh0L2xpYnh0X2ZpeF9mb3JfeDMyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlNmM3NTYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHQvbGlieHRfZml4X2Zvcl94MzIucGF0Y2gKQEAgLTAsMCArMSwxOSBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1RoaXMgZml4ZXMgY29tcGlsYXRpb24gd2l0aCB4MzIgdG9vbGNoYWluLgorCitSZWNlaXZlZCB0aGlzIHBhdGNoIGZyb20gSC5KLiBMdSA8aGpsLnRvb2xzQGdtYWlsLmNvbT4KK1NpZ25lZC1PZmYtQnk6IE5pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+IDIwMTEvMTIvMQorCisKKy0tLSBsaWJYdC0xLjEuMS9pbmNsdWRlL1gxMS9YdG9zLmgueDMyCTIwMTEtMDItMDggMDc6NTY6NDAuMDAwMDAwMDAwIC0wODAwCisrKysgbGliWHQtMS4xLjEvaW5jbHVkZS9YMTEvWHRvcy5oCTIwMTEtMTEtMzAgMTc6MTk6MjcuNDczMzQ5NzcwIC0wODAwCitAQCAtNjIsNyArNjIsNyBAQCBTT0ZUV0FSRS4KKyAgICAgZGVmaW5lZChfX3NwYXJjNjRfXykgfHwgXAorICAgICBkZWZpbmVkKF9fczM5MHhfXykgfHwgXAorICAgICAoZGVmaW5lZChfX2hwcGFfXykgJiYgZGVmaW5lZChfX0xQNjRfXykpIHx8IFwKKy0gICAgZGVmaW5lZChfX2FtZDY0X18pIHx8IGRlZmluZWQoYW1kNjQpIHx8IFwKKysgICAgKChkZWZpbmVkKF9fYW1kNjRfXykgfHwgZGVmaW5lZChhbWQ2NCkpICYmIGRlZmluZWQoX19MUDY0X18pKSB8fCBcCisgICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykgfHwgXAorICAgICAoZGVmaW5lZChzZ2kpICYmIChfTUlQU19TWkxPTkcgPT0gNjQpKQorICNkZWZpbmUgTE9ORzY0CmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHRfMS4xLjUuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHRfMS4xLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFlZDBiYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4dF8xLjEuNS5iYgpAQCAtMCwwICsxLDMzIEBACitTVU1NQVJZID0gIlh0OiBYIFRvb2xraXQgSW50cmluc2ljcyBsaWJyYXJ5IgorCitERVNDUklQVElPTiA9ICJUaGUgSW50cmluc2ljcyBhcmUgYSBwcm9ncmFtbWluZyBsaWJyYXJ5IHRhaWxvcmVkIHRvIHRoZSBcCitzcGVjaWFsIHJlcXVpcmVtZW50cyBvZiB1c2VyIGludGVyZmFjZSBjb25zdHJ1Y3Rpb24gd2l0aGluIGEgbmV0d29yayBcCit3aW5kb3cgc3lzdGVtLCBzcGVjaWZpY2FsbHkgdGhlIFggV2luZG93IFN5c3RlbS4gVGhlIEludHJpbnNpY3MgYW5kIGEgXAord2lkZ2V0IHNldCBtYWtlIHVwIGFuIFggVG9vbGtpdC4gVGhlIEludHJpbnNpY3MgcHJvdmlkZSB0aGUgYmFzZSBcCittZWNoYW5pc20gbmVjZXNzYXJ5IHRvIGJ1aWxkIGEgd2lkZSB2YXJpZXR5IG9mIGludGVyb3BlcmF0aW5nIHdpZGdldCBcCitzZXRzIGFuZCBhcHBsaWNhdGlvbiBlbnZpcm9ubWVudHMuIFRoZSBJbnRyaW5zaWNzIGFyZSBhIGxheWVyIG9uIHRvcCBvZiBcCitYbGliLCB0aGUgQyBMaWJyYXJ5IFggSW50ZXJmYWNlLiBUaGV5IGV4dGVuZCB0aGUgZnVuZGFtZW50YWwgXAorYWJzdHJhY3Rpb25zIHByb3ZpZGVkIGJ5IHRoZSBYIFdpbmRvdyBTeXN0ZW0gd2hpbGUgc3RpbGwgcmVtYWluaW5nIFwKK2luZGVwZW5kZW50IG9mIGFueSBwYXJ0aWN1bGFyIHVzZXIgaW50ZXJmYWNlIHBvbGljeSBvciBzdHlsZS4iCisKK3JlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYworCitMSUNFTlNFID0gIk1JVCAmIE1JVC1zdHlsZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTY1NjViMWUwMDk0ZWExY2FhZTA5NzFjYzQwMzVmMzQzIgorCisKK0RFUEVORFMgKz0gInV0aWwtbGludXggbGlieGNiIGxpYnNtIHZpcnR1YWwvbGlieDExIGticHJvdG8gbGlieGRtY3AiCitQUk9WSURFUyA9ICJ4dCIKKworUEUgPSAiMSIKKworWE9SR19QTiA9ICJsaWJYdCIKKworU1JDX1VSSSArPSAgImZpbGU6Ly9saWJ4dF9maXhfZm9yX3gzMi5wYXRjaCIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK0VYVFJBX09FQ09ORiArPSAiLS1kaXNhYmxlLXhrYiIKKworU1JDX1VSSVttZDVzdW1dID0gIjhmNWI1NTc2ZmJhYmJhMjlhMDVmM2NhMjIyNmY3NGQzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ2ZWViNmJlNzgwMjExZmRkOThjNTEwOTI4NjYxOGY2NzA3NzEyMjM1ZmRkMTlkZjRjZTFlNjk1NGYzNDlmMWEiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHRzdF8xLjIuMi5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4dHN0XzEuMi4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiMGJjZjMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHRzdF8xLjIuMi5iYgpAQCAtMCwwICsxLDIwIEBACityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYVGVzdDogWCBUZXN0IGV4dGVuc2lvbiBsaWJyYXJ5IgorCitERVNDUklQVElPTiA9ICJUaGlzIGV4dGVuc2lvbiBpcyBhIG1pbmltYWwgc2V0IG9mIGNsaWVudCBhbmQgc2VydmVyIFwKK2V4dGVuc2lvbnMgcmVxdWlyZWQgdG8gY29tcGxldGVseSB0ZXN0IHRoZSBYMTEgc2VydmVyIHdpdGggbm8gdXNlciBcCitpbnRlcnZlbnRpb24uIgorCitMSUNFTlNFID0gIk1JVC1zdHlsZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWJiNGY4OTk3MmMzODY5ZjYxN2Y2MWMxYTc5YWQxOTUyIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9YVGVzdC5jO2JlZ2lubGluZT0yO2VuZGxpbmU9MzI7bWQ1PWIxYzhjOWRmZjg0MmI0ZDViODljYTVmYTMyYzQwZTk5IgorCitERVBFTkRTICs9ICJsaWJ4ZXh0IHJlY29yZHByb3RvIGlucHV0cHJvdG8gbGlieGkiCitQUk9WSURFUyA9ICJ4dHN0IgorUEUgPSAiMSIKKworWE9SR19QTiA9ICJsaWJYdHN0IgorCitTUkNfVVJJW21kNXN1bV0gPSAiMjVjNmIzNjZhYzNkYzdhMTJjNWQ3OTgxNmNlOTZhNTkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWYwYTdmZmQ1NzdlNWYxYTI1YjE2NjNiMzc1Njc5NTI5NjYzYTE4ODAxNTFiZWFhNzNlOTE4NmM4MzA5ZjZkOSIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4dl8xLjAuMTAuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHZfMS4wLjEwLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwMmI4YjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHZfMS4wLjEwLmJiCkBAIC0wLDAgKzEsMTggQEAKK1NVTU1BUlkgPSAiWHY6IFggVmlkZW8gZXh0ZW5zaW9uIGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gImxpYlh2IHByb3ZpZGVzIGFuIFggV2luZG93IFN5c3RlbSBjbGllbnQgaW50ZXJmYWNlIHRvIHRoZSBcCitYIFZpZGVvIGV4dGVuc2lvbiB0byB0aGUgWCBwcm90b2NvbC4gVGhlIFggVmlkZW8gZXh0ZW5zaW9uIGFsbG93cyBmb3IgXAorYWNjZWxlcmF0ZWQgZHJhd2luZyBvZiB2aWRlb3MuICBIYXJkd2FyZSBhZGFwdG9ycyBhcmUgZXhwb3NlZCB0byBcCitjbGllbnRzLCB3aGljaCBtYXkgZHJhdyBpbiBhIG51bWJlciBvZiBjb2xvdXJzcGFjZXMsIGluY2x1ZGluZyBZVVYuIgorCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworTElDRU5TRSA9ICJNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT04MjdkYTlhZmFiMWY3MjdmMmE2NjU3NDYyOWUwZjM5YyIKKworREVQRU5EUyArPSAibGlieGV4dCB2aWRlb3Byb3RvIgorCitYT1JHX1BOID0gImxpYlh2IgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTBhZjQ5ZDdkNzU4Yjk5MGU2ZmVmNjI5NzIyZDRhY2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTVmZTkyZjg2ODZjZTg2MTJlMmMxYmZhZjU4YzA1NzcxNTUzNDQxOWRhNzAwYmRhOGQ1MTdiMWQ5NzkxNDUyNSIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4dm1jXzEuMC45LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnh2bWNfMS4wLjkuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDFlODQ5OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4dm1jXzEuMC45LmJiCkBAIC0wLDAgKzEsMTkgQEAKK1NVTU1BUlkgPSAiWHZNQzogWCBWaWRlbyBNb3Rpb24gQ29tcGVuc2F0aW9uIGV4dGVuc2lvbiBsaWJyYXJ5IgorCitERVNDUklQVElPTiA9ICJYdk1DIGV4dGVuZHMgdGhlIFggVmlkZW8gZXh0ZW5zaW9uIChYdikgYW5kIGVuYWJsZXMgXAoraGFyZHdhcmUgcmVuZGVyZWQgbW90aW9uIGNvbXBlbnNhdGlvbiBzdXBwb3J0LiIKKworcmVxdWlyZSB4b3JnLWxpYi1jb21tb24uaW5jCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MGEyMDdmMDhkNDk2MTQ4OWM1NTA0NmM5YTVlNTAwZGEgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vd3JhcHBlci9Ydk1DV3JhcHBlci5jO2VuZGxpbmU9MjY7bWQ1PTUxNTFkYWE4MTcyYTNmMWJiMGNiMGUwZmYxNTdkOWRlIgorCitERVBFTkRTICs9ICJsaWJ4ZXh0IGxpYnh2IHZpZGVvcHJvdG8iCisKK1BFID0gIjEiCisKK1hPUkdfUE4gPSAibGliWHZNQyIKKworU1JDX1VSSVttZDVzdW1dID0gImViYTZiNzM4ZWQ1ZmRjZDhmNDIwM2Q3YzhhNDcwYzc5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA3MDNkN2RmZjZmZmMxODRmMTczNWNhNWQ0ZWI5ZGJiNDAyYjUyMmUwOGUwMDhmMmY5NmFlZTE2YzQwYTU3NTYiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHhmODZkZ2FfMS4xLjQuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHhmODZkZ2FfMS4xLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjk1YTM5NgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4eGY4NmRnYV8xLjEuNC5iYgpAQCAtMCwwICsxLDE5IEBACityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYRnJlZTg2LURHQTogWEZyZWU4NiBEaXJlY3QgR3JhcGhpY3MgQWNjZXNzIGV4dGVuc2lvbiBsaWJyYXJ5IgorCitERVNDUklQVElPTiA9ICJsaWJYeGY4NmRnYSBwcm92aWRlcyB0aGUgWEZyZWU4Ni1ER0EgZXh0ZW5zaW9uLCB3aGljaCBcCithbGxvd3MgZGlyZWN0IGdyYXBoaWNzIGFjY2VzcyB0byBhIGZyYW1lYnVmZmVyLWxpa2UgcmVnaW9uLCBhbmQgYWxzbyBcCithbGxvd3MgcmVsYXRpdmUgbW91c2UgcmVwb3J0aW5nLCBldCBhbC4gIEl0IGlzIG1haW5seSB1c2VkIGJ5IGdhbWVzIGFuZCBcCitlbXVsYXRvcnMgZm9yIGdhbWVzLiIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YWJiOTlhYzEyNWY4NGY0MjRhNDI3ODE1Mzk4OGUzMmYiCisKK0RFUEVORFMgKz0gImxpYnhleHQgeGY4NmRnYXByb3RvIgorCitQRSA9ICIxIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZDdkZDliOWRmMzM2YjdkZDQwMjhiNmI1NjU0MmZmMmMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGVlY2Q0YjZjMWRmOWEzNzA0YzA0NzMzYzJmNGZhOTNlZjQ2OWI1NTAyOGFmNTUxMGIyNTgxOGUyNDU2Yzc3ZSIKKworWE9SR19QTiA9ICJsaWJYeGY4NmRnYSIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9saWJ4eGY4Nm1pc2NfMS4wLjMuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHhmODZtaXNjXzEuMC4zLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmNmYxZjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHhmODZtaXNjXzEuMC4zLmJiCkBAIC0wLDAgKzEsMjAgQEAKK1NVTU1BUlkgPSAiWEZyZWU4Ni1NaXNjOiBYRnJlZTg2IG1pc2NlbGxhbmVvdXMgZXh0ZW5zaW9uIGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gIlRoZSBYRnJlZTg2LU1pc2MgZXh0ZW5zaW9uLCBwcm92aWRlcyBhIG1lYW5zIHRvIGFjY2VzcyBcCitpbnB1dCBkZXZpY2UgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBzcGVjaWZpYyB0byB0aGUgWEZyZWU4Ni9Yb3JnIEREWC4iCisKK3JlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYworCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI3YzkxZWNjNDM1YmQzZDJiZmFkODY4OTE0Yzk0YjQ1IgorCitERVBFTkRTICs9ICJsaWJ4ZXh0IHhmODZtaXNjcHJvdG8iCitQUk9WSURFUyA9ICJ4eGY4Nm1pc2MiCisKK1BFID0gIjEiCisKK1hPUkdfUE4gPSAibGliWHhmODZtaXNjIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNmJjMGJmNzg5MDlmZDcxMDIxYzQ2NmM3OTNkNDM4NWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNTYzZjQyMDA4NjJlZmQzMzM0YzMzYTY2OWUwYTBhYWU1YmFiMzFmMzk5OGRiNzViODdhOTlhNjk3Y2MyNmI1YiIKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnh4Zjg2dm1fMS4xLjQuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvbGlieHhmODZ2bV8xLjEuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNWY4N2QyCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL2xpYnh4Zjg2dm1fMS4xLjQuYmIKQEAgLTAsMCArMSwyMCBAQAorU1VNTUFSWSA9ICJYRnJlZTg2LVZNOiBYRnJlZTg2IHZpZGVvIG1vZGUgZXh0ZW5zaW9uIGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gImxpYlh4Zjg2dm0gcHJvdmlkZXMgYW4gaW50ZXJmYWNlIHRvIHRoZSBcCitYRnJlZTg2LVZpZE1vZGVFeHRlbnNpb24gZXh0ZW5zaW9uLCB3aGljaCBhbGxvd3MgY2xpZW50IGFwcGxpY2F0aW9ucyB0byBcCitnZXQgYW5kIHNldCB2aWRlbyBtb2RlIHRpbWluZ3MgaW4gZXh0ZW5zaXZlIGRldGFpbC4gIEl0IGlzIHVzZWQgYnkgdGhlIFwKK3h2aWR0dW5lIHByb2dyYW0gaW4gcGFydGljdWxhci4iCisKK3JlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYworCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWZhMGI5YzQ2MmQ4ZjJmMTNlYmEyNjQ5MmQ0MmVhNjNkIgorCitERVBFTkRTICs9ICJsaWJ4ZXh0IHhmODZ2aWRtb2RlcHJvdG8iCisKK1BFID0gIjEiCisKK1hPUkdfUE4gPSAibGliWHhmODZ2bSIKKworU1JDX1VSSVttZDVzdW1dID0gIjI5OGI4ZmZmODJkZjE3MzA0ZGZkYjVmZTQwNjZmZTNhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFmZWUyN2Y5M2M1ZjMxYzBhZDU4Mjg1MmMwZmIzNmQ1MGU0ZGU3Y2Q1ODVmY2Y2NTVlMjc4YTYzM2Q4NWNkNTciCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvcGl4bWFuLzAwMDEtQVJNLXFlbXUtcmVsYXRlZC13b3JrYXJvdW5kcy1pbi1jcHUtZmVhdHVyZXMtZGV0ZWN0aS5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9waXhtYW4vMDAwMS1BUk0tcWVtdS1yZWxhdGVkLXdvcmthcm91bmRzLWluLWNwdS1mZWF0dXJlcy1kZXRlY3RpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1NjlkY2EKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvcGl4bWFuLzAwMDEtQVJNLXFlbXUtcmVsYXRlZC13b3JrYXJvdW5kcy1pbi1jcHUtZmVhdHVyZXMtZGV0ZWN0aS5wYXRjaApAQCAtMCwwICsxLDE0NCBAQAorRnJvbSBhMGY1M2UxZGJiMzg1MWJiMGYwZWZjZmRiZDU2NWIwNWU0YmU5Y2FjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHJlYXM9MjBNPUMzPUJDbGxlcj89IDxzY2huaXR6ZWx0b255QGdvb2dsZW1haWwuY29tPgorRGF0ZTogVGh1LCAyMyBBdWcgMjAxMiAxODoxMDo1NyArMDIwMAorU3ViamVjdDogW1BBVENIIDEvMl0gQVJNOiBxZW11IHJlbGF0ZWQgd29ya2Fyb3VuZHMgaW4gY3B1IGZlYXR1cmVzIGRldGVjdGlvbgorIGNvZGUKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworVGhpcyB3YXMgcG9ydGVkIGZyb20gbWV0YS1vZSdzIHBhdGNoIFsxXS4gVGhlIG9yaWdpbmFsIHBpeG1hbiBwYXRjaCBpcyBmb3VuZAorYXQgWzJdLgorCitbMV0gaHR0cDovL2NnaXQub3BlbmVtYmVkZGVkLm9yZy9tZXRhLW9wZW5lbWJlZGRlZC90cmVlL21ldGEtb2UvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9waXhtYW4tMC4yNi4yLzAwMDEtQVJNLXFlbXUtcmVsYXRlZC13b3JrYXJvdW5kcy1pbi1jcHUtZmVhdHVyZXMtZGV0ZWN0aS5wYXRjaAorWzJdIGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvcGl4bWFuLzIwMTEtSmFudWFyeS8wMDA5MDYuaHRtbAorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW290aGVyXSBxZW11IGZpeAorCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBwaXhtYW4vcGl4bWFuLWFybS5jIHwgICA4MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQorIDEgZmlsZXMgY2hhbmdlZCwgNjUgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9waXhtYW4vcGl4bWFuLWFybS5jIGIvcGl4bWFuL3BpeG1hbi1hcm0uYworaW5kZXggMjMzNzRlNC4uZDk4YmRhNiAxMDA2NDQKKy0tLSBhL3BpeG1hbi9waXhtYW4tYXJtLmMKKysrKyBiL3BpeG1hbi9waXhtYW4tYXJtLmMKK0BAIC0xMjksMTYgKzEyOSwzNSBAQCBkZXRlY3RfY3B1X2ZlYXR1cmVzICh2b2lkKQorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyAjaW5jbHVkZSA8c3lzL21tYW4uaD4KKysjaW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KKyAjaW5jbHVkZSA8ZmNudGwuaD4KKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2luY2x1ZGUgPGVsZi5oPgorIAorKy8qCisrICogVGhlIHdob2xlIENQVSBjYXBhYmlsaXRpZXMgZGV0ZWN0aW9uIGlzIGEgYml0IHVnbHk6IHdoZW4gcnVubmluZyBpbgorKyAqIHVzZXJzcGFjZSBxZW11LCB3ZSBzZWUgL3Byb2Mvc2VsZi9hdXh2IGZyb20gdGhlIGhvc3Qgc3lzdGVtLiBUbyBtYWtlCisrICogZXZlcnl0aGluZyBldmVuIHdvcnNlLCB0aGUgc2l6ZSBvZiBlYWNoIHZhbHVlIGlzIDY0LWJpdCB3aGVuIHJ1bm5pbmcKKysgKiBvbiBhIDY0LWJpdCBob3N0IHN5c3RlbS4gU28gdGhlIGRhdGEgaXMgdG90YWxseSBib2d1cyBiZWNhdXNlIHdlIGV4cGVjdAorKyAqIDMyLWJpdCB2YWx1ZXMuIEFzIEFUX1BMQVRGT1JNIHZhbHVlIGlzIHVzZWQgYXMgYSBwb2ludGVyLCBpdCBtYXkgY2F1c2UKKysgKiBzZWdmYXVsdCAobnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIG9uIHg4Ni02NCBob3N0KS4gU28gaW4gb3JkZXIgdG8gYmUKKysgKiBvbiBhIHNhZmUgc2lkZSwgd2UgcmVxdWlyZSB0aGF0IEFUX1BMQVRGT1JNIHZhbHVlIGlzIGZvdW5kIG9ubHkgb25jZSwKKysgKiBhbmQgaXQgaGFzIG5vbi16ZXJvIHZhbHVlICh0aGlzIGlzIHN0aWxsIG5vdCB0b3RhbGx5IHJlbGlhYmxlIGZvciBhIGJpZworKyAqIGVuZGlhbiA2NC1iaXQgaG9zdCBzeXN0ZW0gcnVubmluZyBxZW11IGFuZCBtYXkgdGhlb3JldGljYWxseSBmYWlsKS4KKysgKi8KKysjZGVmaW5lIEFSTV9IV0NBUF9WRlAgNjQKKysjZGVmaW5lIEFSTV9IV0NBUF9JV01NWFQgNTEyCisrI2RlZmluZSBBUk1fSFdDQVBfTkVPTiA0MDk2CisrCisgc3RhdGljIGFybV9jcHVfZmVhdHVyZXNfdAorIGRldGVjdF9jcHVfZmVhdHVyZXMgKHZvaWQpCisgeworICAgICBhcm1fY3B1X2ZlYXR1cmVzX3QgZmVhdHVyZXMgPSAwOworICAgICBFbGYzMl9hdXh2X3QgYXV4OworICAgICBpbnQgZmQ7CisrICAgIHVpbnQzMl90IGh3Y2FwID0gMDsKKysgICAgY29uc3QgY2hhciAqcGxhdCA9IE5VTEw7CisrICAgIGludCBwbGF0X2NudCA9IDA7CisgCisgICAgIGZkID0gb3BlbiAoIi9wcm9jL3NlbGYvYXV4diIsIE9fUkRPTkxZKTsKKyAgICAgaWYgKGZkID49IDApCitAQCAtMTQ3LDMyICsxNjYsNjEgQEAgZGV0ZWN0X2NwdV9mZWF0dXJlcyAodm9pZCkKKyAJeworIAkgICAgaWYgKGF1eC5hX3R5cGUgPT0gQVRfSFdDQVApCisgCSAgICB7CistCQl1aW50MzJfdCBod2NhcCA9IGF1eC5hX3VuLmFfdmFsOworLQorLQkJLyogaGFyZGNvZGUgdGhlc2UgdmFsdWVzIHRvIGF2b2lkIGRlcGVuZGluZyBvbiBzcGVjaWZpYworLQkJICogdmVyc2lvbnMgb2YgdGhlIGh3Y2FwIGhlYWRlciwgZS5nLiBIV0NBUF9ORU9OCistCQkgKi8KKy0JCWlmICgoaHdjYXAgJiA2NCkgIT0gMCkKKy0JCSAgICBmZWF0dXJlcyB8PSBBUk1fVkZQOworLQkJaWYgKChod2NhcCAmIDUxMikgIT0gMCkKKy0JCSAgICBmZWF0dXJlcyB8PSBBUk1fSVdNTVhUOworLQkJLyogdGhpcyBmbGFnIGlzIG9ubHkgcHJlc2VudCBvbiBrZXJuZWwgMi42LjI5ICovCistCQlpZiAoKGh3Y2FwICYgNDA5NikgIT0gMCkKKy0JCSAgICBmZWF0dXJlcyB8PSBBUk1fTkVPTjsKKysJCWh3Y2FwID0gYXV4LmFfdW4uYV92YWw7CisgCSAgICB9CisgCSAgICBlbHNlIGlmIChhdXguYV90eXBlID09IEFUX1BMQVRGT1JNKQorIAkgICAgeworLQkJY29uc3QgY2hhciAqcGxhdCA9IChjb25zdCBjaGFyKikgYXV4LmFfdW4uYV92YWw7CistCistCQlpZiAoc3RybmNtcCAocGxhdCwgInY3bCIsIDMpID09IDApCisrCQlwbGF0ID0gKGNvbnN0IGNoYXIqKSBhdXguYV91bi5hX3ZhbDsKKysJCXBsYXRfY250Kys7CisrCSAgICB9CisrCX0KKysJY2xvc2UgKGZkKTsKKysJaWYgKHBsYXQgPT0gTlVMTCB8fCBwbGF0X2NudCAhPSAxIHx8ICpwbGF0ICE9ICd2JykKKysJeworKwkgICAgLyoKKysJICAgICAqIFNvbWV0aGluZyBzZWVtcyB0byBiZSByZWFsbHkgd3JvbmcsIG1vc3QgbGlrZWx5IHdlIGFyZQorKwkgICAgICogcnVubmluZyB1bmRlciBxZW11LiBMZXQncyB1c2UgbWFjaGluZSB0eXBlIGZyb20gInVuYW1lIiBmb3IKKysJICAgICAqIENQVSBjYXBhYmlsaXRpZXMgZGV0ZWN0aW9uOgorKwkgICAgICogaHR0cDovL3d3dy5tYWlsLWFyY2hpdmUuY29tL3FlbXUtZGV2ZWwgYXQgbm9uZ251Lm9yZy9tc2cyMjIxMi5odG1sCisrCSAgICAgKi8KKysJICAgIHN0cnVjdCB1dHNuYW1lIHU7CisrCSAgICBod2NhcCA9IDA7IC8qIGNsZWFyIGh3Y2FwLCBiZWNhdXNlIGl0IGlzIGJvZ3VzICovCisrCSAgICBpZiAodW5hbWUgKCZ1KSA9PSAwKQorKwkgICAgeworKwkJaWYgKHN0cmNtcCAodS5tYWNoaW5lLCAiYXJtdjdsIikgPT0gMCkKKysJCXsKKyAJCSAgICBmZWF0dXJlcyB8PSAoQVJNX1Y3IHwgQVJNX1Y2KTsKKy0JCWVsc2UgaWYgKHN0cm5jbXAgKHBsYXQsICJ2NmwiLCAzKSA9PSAwKQorKwkJICAgIGh3Y2FwIHw9IEFSTV9IV0NBUF9WRlA7ICAvKiBxZW11IGlzIHN1cHBvc2VkIHRvIGVtdWxhdGUgdmZwICovCisrCQkgICAgaHdjYXAgfD0gQVJNX0hXQ0FQX05FT047IC8qIHFlbXUgaXMgc3VwcG9zZWQgdG8gZW11bGF0ZSBuZW9uICovCisrCQl9CisrCQllbHNlIGlmIChzdHJjbXAgKHUubWFjaGluZSwgImFybXY2bCIpID09IDApCisrCQl7CisgCQkgICAgZmVhdHVyZXMgfD0gQVJNX1Y2OworKwkJICAgIGh3Y2FwIHw9IEFSTV9IV0NBUF9WRlA7ICAvKiBxZW11IGlzIHN1cHBvc2VkIHRvIGVtdWxhdGUgdmZwICovCisrCQl9CisgCSAgICB9CisgCX0KKy0JY2xvc2UgKGZkKTsKKysJZWxzZSBpZiAoc3RybmNtcCAocGxhdCwgInY3bCIsIDMpID09IDApCisrCXsKKysJICAgIGZlYXR1cmVzIHw9IChBUk1fVjcgfCBBUk1fVjYpOworKwl9CisrCWVsc2UgaWYgKHN0cm5jbXAgKHBsYXQsICJ2NmwiLCAzKSA9PSAwKQorKwl7CisrCSAgICBmZWF0dXJlcyB8PSBBUk1fVjY7CisrCX0KKyAgICAgfQorIAorKyAgICAvKiBoYXJkY29kZSB0aGVzZSB2YWx1ZXMgdG8gYXZvaWQgZGVwZW5kaW5nIG9uIHNwZWNpZmljCisrICAgICAqIHZlcnNpb25zIG9mIHRoZSBod2NhcCBoZWFkZXIsIGUuZy4gSFdDQVBfTkVPTgorKyAgICAgKi8KKysgICAgaWYgKChod2NhcCAmIEFSTV9IV0NBUF9WRlApICE9IDApCisrICAgICAgICBmZWF0dXJlcyB8PSBBUk1fVkZQOworKyAgICBpZiAoKGh3Y2FwICYgQVJNX0hXQ0FQX0lXTU1YVCkgIT0gMCkKKysgICAgICAgIGZlYXR1cmVzIHw9IEFSTV9JV01NWFQ7CisrICAgIC8qIHRoaXMgZmxhZyBpcyBvbmx5IHByZXNlbnQgb24ga2VybmVsIDIuNi4yOSAqLworKyAgICBpZiAoKGh3Y2FwICYgQVJNX0hXQ0FQX05FT04pICE9IDApCisrICAgICAgICBmZWF0dXJlcyB8PSBBUk1fTkVPTjsKKysKKyAgICAgcmV0dXJuIGZlYXR1cmVzOworIH0KKyAKKy0tIAorMS43LjYuNQorCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvcGl4bWFuL2FzbV9pbmNsdWRlLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3BpeG1hbi9hc21faW5jbHVkZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTJhNTcwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3BpeG1hbi9hc21faW5jbHVkZS5wYXRjaApAQCAtMCwwICsxLDI5IEBACitGaXhlcyBlcnJvcnMgbGlrZQorCitBc3NlbWJsZXIgbWVzc2FnZXM6CitGYXRhbCBlcnJvcjogY2FuJ3QgY3JlYXRlIC5saWJzL3BpeG1hbi1taXBzLWRzcHIyLWFzbS5vOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CisKK2l0IHdvcmtzIHdpdGggZ2xpYmMgYmVjYXVzZSBpdCB1c2VzIGdjYyBmaXhlZC1oZWFkZXJzIGJ1dCB0aGF0cyBub3QgcmlnaHQuCisKK1dlIG1vdmUgdGhlIGluY2x1ZGUgdW5kZXIgQyBibG9jaworCitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCitJbmRleDogcGl4bWFuLTAuMzIuNi9waXhtYW4vcGl4bWFuLXByaXZhdGUuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHBpeG1hbi0wLjMyLjYub3JpZy9waXhtYW4vcGl4bWFuLXByaXZhdGUuaAorKysrIHBpeG1hbi0wLjMyLjYvcGl4bWFuL3BpeG1hbi1wcml2YXRlLmgKK0BAIC0xLDQgKzEsMyBAQAorLSNpbmNsdWRlIDxmbG9hdC5oPgorIAorICNpZm5kZWYgUElYTUFOX1BSSVZBVEVfSAorICNkZWZpbmUgUElYTUFOX1BSSVZBVEVfSAorQEAgLTE3LDYgKzE2LDggQEAKKyAKKyAjaWZuZGVmIF9fQVNTRU1CTEVSX18KKyAKKysjaW5jbHVkZSA8ZmxvYXQuaD4KKysKKyAjaWZuZGVmIFBBQ0tBR0UKKyAjICBlcnJvciBjb25maWcuaCBtdXN0IGJlIGluY2x1ZGVkIGJlZm9yZSBwaXhtYW4tcHJpdmF0ZS5oCisgI2VuZGlmCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvcGl4bWFuL21pcHMtZXhwb3J0LXJldmVydC5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi9waXhtYW4vbWlwcy1leHBvcnQtcmV2ZXJ0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0YTVmZDIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvcGl4bWFuL21pcHMtZXhwb3J0LXJldmVydC5wYXRjaApAQCAtMCwwICsxLDIyIEBACitSZXZlcnQgYSBjb21taXQgaW4gcGl4bWFuIDAuMzIuNiB3aGljaCBicmVha3MgY29tcGxpYXRpb24gb24gTUlQUyBtYWNoaW5lcyB3aXRoCitlcnJvcnMgc3VjaCBhczoKKworcGl4bWFuLTAuMzIuNi9waXhtYW4vcGl4bWFuLW1pcHMtZHNwcjItYXNtLlM6NDI2NzoKK0Vycm9yOiBpbnZhbGlkIG9wZXJhbmRzIGBtZmxvICQxNCwkYWMzJworCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKKy0tLSBiL3BpeG1hbi9waXhtYW4tbWlwcy1kc3ByMi1hc20uaAorKysrIGEvcGl4bWFuL3BpeG1hbi1taXBzLWRzcHIyLWFzbS5oCitAQCAtNzIsMTAgKzcyLDcgQEAKKyAjZGVmaW5lIExFQUZfTUlQUzMyUjIoc3ltYm9sKSAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgLmdsb2JsICBzeW1ib2w7ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgLmFsaWduICAyOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0jaWZkZWYgX19FTEZfXworLSAgICAgICAgICAgICAgICAuaGlkZGVuIHN5bWJvbDsgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAudHlwZSAgIHN5bWJvbCwgQGZ1bmN0aW9uOyAgICAgICAgICAgICAgXAorLSNlbmRpZgorICAgICAgICAgICAgICAgICAuZW50ICAgIHN5bWJvbCwgMDsgICAgICAgICAgICAgICAgICAgICAgXAorIHN5bWJvbDogICAgICAgICAuZnJhbWUgIHNwLCAwLCByYTsgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAuc2V0ICAgIHB1c2g7ICAgICAgICAgICAgICAgICAgICAgICAgICAgXApkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3BpeG1hbl8wLjMyLjYuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIvcGl4bWFuXzAuMzIuNi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWU1OWI2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3BpeG1hbl8wLjMyLjYuYmIKQEAgLTAsMCArMSwzOSBAQAorU1VNTUFSWSA9ICJQaXhtYW46IFBpeGVsIE1hbmlwdWxhdGlvbiBsaWJyYXJ5IgorCitERVNDUklQVElPTiA9ICJQaXhtYW4gcHJvdmlkZXMgYSBsaWJyYXJ5IGZvciBtYW5pcHVsYXRpbmcgcGl4ZWwgcmVnaW9ucyBcCistLSBhIHNldCBvZiBZLVggYmFuZGVkIHJlY3RhbmdsZXMsIGltYWdlIGNvbXBvc2l0aW5nIHVzaW5nIHRoZSBcCitQb3J0ZXIvRHVmZiBtb2RlbCBhbmQgaW1wbGljaXQgbWFzayBnZW5lcmF0aW9uIGZvciBnZW9tZXRyaWMgcHJpbWl0aXZlcyBcCitpbmNsdWRpbmcgdHJhcGV6b2lkcywgdHJpYW5nbGVzLCBhbmQgcmVjdGFuZ2xlcy4iCisKK3JlcXVpcmUgeG9yZy1saWItY29tbW9uLmluYworCitMSUNFTlNFID0gIk1JVCAmIE1JVC1zdHlsZSAmIFBEIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MTQwOTZjNzY5YWUwY2JiNWZjYjk0ZWM0NjhiZTExYjMgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGl4bWFuL3BpeG1hbi1tYXRyaXguYztlbmRsaW5lPTI1O21kNT1iYTZlODc2OWJmYWFlZTJjNDE2OTg3NTVhZjA0YzRiZSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9waXhtYW4vcGl4bWFuLWFybS1uZW9uLWFzbS5oO2VuZGxpbmU9MjQ7bWQ1PTlhOWNjMWU1MWFiYmYxZGE1OGY0ZDk1MjhlYzlkNDliIFwKKyAgICAgICAgICAgICAgICAgICAiCitERVBFTkRTICs9ICJ6bGliIGxpYnBuZyIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworUEUgPSAiMSIKKworSVdNTVhUID0gIi0tZGlzYWJsZS1hcm0taXdtbXh0IgorTE9PTkdTT05fTU1JID0gIi0tZGlzYWJsZS1sb29uZ3Nvbi1tbWkiCitORU9OID0gIiAtLWRpc2FibGUtYXJtLW5lb24gIgorTkVPTl9jbGFzcy1uYXRpdmVzZGsgPSAiIC0tZGlzYWJsZS1hcm0tbmVvbiAiCitORU9OX2FybXY3YSA9ICIgIgorTkVPTl9hcm12N2EtdmZwLW5lb24gPSAiICIKKworRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1ndGsgJHtJV01NWFR9ICR7TE9PTkdTT05fTU1JfSAke05FT059IgorRVhUUkFfT0VDT05GX2NsYXNzLW5hdGl2ZSA9ICItLWRpc2FibGUtZ3RrIgorCitTUkNfVVJJICs9ICJcCisgICAgICAgICAgICBmaWxlOi8vMDAwMS1BUk0tcWVtdS1yZWxhdGVkLXdvcmthcm91bmRzLWluLWNwdS1mZWF0dXJlcy1kZXRlY3RpLnBhdGNoIFwKKyAgICAgICAgICAgIGZpbGU6Ly9taXBzLWV4cG9ydC1yZXZlcnQucGF0Y2ggXAorCSAgICBmaWxlOi8vYXNtX2luY2x1ZGUucGF0Y2ggXAorIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOGE5ZThmMTQ3NDNhMzljZjMwMzgwM2YzNjljMWYzNDQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjAxZmMwZDdkNmJjMDAxNzQ5NmYyYmQyN2IzY2ExNDIyNGFlYTBkZjZiNjI0YzVlZTJkYzAzMDdhNGZmMTRhNCIKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIiIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi94Y2ItdXRpbC1pbWFnZV8wLjQuMC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi94Y2ItdXRpbC1pbWFnZV8wLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTQ2NGI2Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3hjYi11dGlsLWltYWdlXzAuNC4wLmJiCkBAIC0wLDAgKzEsMTAgQEAKK3JlcXVpcmUgeGNiLXV0aWwuaW5jCisKK0RFUEVORFMgKz0gInhjYi11dGlsIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL2ltYWdlL3hjYl9pbWFnZS5jO2VuZGxpbmU9MjQ7bWQ1PWVhZmRmOTY1Y2ZiODk5NTVmZGVkZjc1MDU0MjIzZmI0IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2ltYWdlL3hjYl9pbWFnZS5oO2JlZ2lubGluZT00O2VuZGxpbmU9Mjc7bWQ1PTQ4Y2QyNWFlNTVlN2RlNTI1ZmUxZTFhM2E3NjcyZTFjIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMDhmZThmZmVjYzhkNGUzN2MwYWRlNzkwNmIzZjRjODciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMmRiOTZhMzdkNzg4MzFkNjQzNTM4ZGQxYjU5NWQ3ZDcxMmUwNGJkY2NmODg5NmE1ZTE4Y2UwZjM5OGVhMmZmYyIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIveGNiLXV0aWwta2V5c3ltc18wLjQuMC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi94Y2ItdXRpbC1rZXlzeW1zXzAuNC4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjYTY0ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIveGNiLXV0aWwta2V5c3ltc18wLjQuMC5iYgpAQCAtMCwwICsxLDkgQEAKK3JlcXVpcmUgeGNiLXV0aWwuaW5jCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8va2V5c3ltcy9rZXlzeW1zLmM7ZW5kbGluZT0zMDttZDU9MmY4ZGUwMjNlZDgyM2JiOTJmMGI0NzkwMDU3NGVhOWUgXAorCQkJCQkiCitTUkNfVVJJW21kNXN1bV0gPSAiMTAyMjI5MzA4M2VlYzllNjJkNTY1OTI2MWMyOWUzNjciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGVmODQ5MGZmMWRlZGU1MmI3ZGU1MzMxNTg1NDdmOGI0NTRiMjQxYWEzZTRkY2NhMzY5NTA3ZjY2ZjIxNmRkOSIKKworCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIveGNiLXV0aWwtcmVuZGVydXRpbF8wLjMuOS5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi94Y2ItdXRpbC1yZW5kZXJ1dGlsXzAuMy45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1YzIyZTUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIveGNiLXV0aWwtcmVuZGVydXRpbF8wLjMuOS5iYgpAQCAtMCwwICsxLDEwIEBACityZXF1aXJlIHhjYi11dGlsLmluYworCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3JlbmRlcnV0aWwvZ2x5cGguYztlbmRsaW5lPTI0O21kNT1jNTE3YzQ4M2I4ZDcyNjIzNGVjOTRmOTE2OTIzNjY2MSBcCisJCQkJCWZpbGU6Ly9yZW5kZXJ1dGlsL3V0aWwuYztlbmRsaW5lPTIwO21kNT02ZTBiZmM0NGZiMTMyOThjMGY0Njk0ZWI3MGRjODBkNCBcCisJCQkJCWZpbGU6Ly9yZW5kZXJ1dGlsL3hjYl9yZW5kZXJ1dGlsLmg7ZW5kbGluZT0yNDttZDU9ZDBkZGFiMzA1MmRkNDk0OWM5M2NmY2IwODkxYzk2ZGYgXAorCQkJCQkiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI0NjhiMTE5Yzk0ZGE5MTBlMTI5MWYzZmZhYjkxMDE5YSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjNmU5N2U0OGZiMTI4NmQ2Mzk0ZGRkYjFjMTczMmYwMDIyN2M3MGJkMWJlZGI3ZDFhY2FiZWZkZDM0MGJlYTViIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3hjYi11dGlsLXdtXzAuNC4xLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3hjYi11dGlsLXdtXzAuNC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5ZjEzODMKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIveGNiLXV0aWwtd21fMC40LjEuYmIKQEAgLTAsMCArMSwxMSBAQAorcmVxdWlyZSB4Y2ItdXRpbC5pbmMKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9ld21oL2V3bWguYy5tNDtlbmRsaW5lPTI3O21kNT02M2ZkODA1NTJkN2RjODg2ZjRlYjI2NzYxMGQ1YmI5ZCBcCisJCQkJCWZpbGU6Ly9ld21oL3hjYl9ld21oLmgubTQ7YmVnaW5saW5lPTQ7ZW5kbGluZT0zMDttZDU9NzNiNTg5ZjkwZWY5MGI0YTQzOTk4OTU1ZGFhZDVjZDggXAorCQkJCQlmaWxlOi8vaWNjY20vaWNjY20uYztlbmRsaW5lPTI4O21kNT1lMmIzMjQwYTBjMTk3ZTg5NzdhZGRlMmE1Y2YxOGQ1MCBcCisJCQkJCWZpbGU6Ly9pY2NjbS94Y2JfaWNjY20uaDtiZWdpbmxpbmU9NDtlbmRsaW5lPTMxO21kNT0zOTM3NzJiN2IwN2I5ODY4ZDQ3OWQ1MzgyMzhjMWQ4YSBcCisJCQkJCSIKKworU1JDX1VSSVttZDVzdW1dID0gIjg3YjE5YTFjZDdiZmNiNjVhMjRlMzZjMzAwZTAzMTI5IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI4YmY4MTc5NjQwZWFhODkyNzZkMmIwZjFjZTQyODUxMDNkMTM2YmU2Yzk4MjYyYjYxNTFhYWVlMWQzYzJhM2YiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIveGNiLXV0aWwuaW5jIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3hjYi11dGlsLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OWQwNGY5Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3hjYi11dGlsLmluYwpAQCAtMCwwICsxLDIzIEBACitTVU1NQVJZID0gIlhDQjogVGhlIFggcHJvdG9jb2wgQyBiaW5kaW5nIHV0aWxpdGllcyIKK0RFU0NSSVBUSU9OID0gIlRoZSB4Y2ItdXRpbCBtb2R1bGUgcHJvdmlkZXMgYSBudW1iZXIgb2YgbGlicmFyaWVzIHdoaWNoIFwKK3NpdCBvbiB0b3Agb2YgbGlieGNiLCB0aGUgY29yZSBYIHByb3RvY29sIGxpYnJhcnksIGFuZCBzb21lIG9mIHRoZSBcCitleHRlbnNpb24gbGlicmFyaWVzLiBUaGVzZSBleHBlcmltZW50YWwgbGlicmFyaWVzIHByb3ZpZGUgY29udmVuaWVuY2UgXAorZnVuY3Rpb25zIGFuZCBpbnRlcmZhY2VzIHdoaWNoIG1ha2UgdGhlIHJhdyBYIHByb3RvY29sIG1vcmUgdXNhYmxlLiBTb21lIFwKK29mIHRoZSBsaWJyYXJpZXMgYWxzbyBwcm92aWRlIGNsaWVudC1zaWRlIGNvZGUgd2hpY2ggaXMgbm90IHN0cmljdGx5IFwKK3BhcnQgb2YgdGhlIFggcHJvdG9jb2wgYnV0IHdoaWNoIGhhdmUgdHJhZGl0aW9uYWxseSBiZWVuIHByb3ZpZGVkIGJ5IFwKK1hsaWIuIgorSE9NRVBBR0UgPSAiaHR0cDovL3hjYi5mcmVlZGVza3RvcC5vcmcvWGNiVXRpbC8iCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PVhDQiIKKworTElDRU5TRSA9ICJNSVQiCisKK1NFQ1RJT04gPSAieDExL2xpYnMiCisKK0RFUEVORFMgPSAibGlieGNiIgorREVQRU5EUyArPSAiZ3BlcmYtbmF0aXZlIgorCitTUkNfVVJJID0gImh0dHA6Ly94Y2IuZnJlZWRlc2t0b3Aub3JnL2Rpc3QvJHtCUE59LSR7UFZ9LnRhci5iejIiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKworUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi94Y2ItdXRpbF8wLjQuMC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi94Y2ItdXRpbF8wLjQuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDZmMDdhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3hjYi11dGlsXzAuNC4wLmJiCkBAIC0wLDAgKzEsOCBAQAorcmVxdWlyZSB4Y2ItdXRpbC5pbmMKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9zcmMveGNiX2F1eC5jO2VuZGxpbmU9MzA7bWQ1PWFlMzA1YjljMmEzOGY5YmEyNzA2MDE5MTA0NmE2NDYwIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy94Y2JfZXZlbnQuaDtlbmRsaW5lPTI3O21kNT02MjdiZTM1NWFlZTU5ZTFiOGFkZTgwZDViZDkwZmFkOSIKKworU1JDX1VSSVttZDVzdW1dID0gIjJlOTdmZWVkODE5MTk0NjVhMDRjY2M3MWU0MDczMzEzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjQ2ZTQ5NDY5Y2IzYjU5NGFmMWQzMzE3NmNkNzU2NWRlZjJiZTNmYThiZTQzNzFkNjIyNzFmYWJiNWVhZTUwZTkiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1saWIveGtleWJvYXJkLWNvbmZpZ18yLjE1LmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3hrZXlib2FyZC1jb25maWdfMi4xNS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDE2OTkwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3hrZXlib2FyZC1jb25maWdfMi4xNS5iYgpAQCAtMCwwICsxLDMxIEBACitTVU1NQVJZID0gIktleWJvYXJkIGNvbmZpZ3VyYXRpb24gZGF0YWJhc2UgZm9yIFggV2luZG93IgorCitERVNDUklQVElPTiA9ICJUaGUgbm9uLWFyY2gga2V5Ym9hcmQgY29uZmlndXJhdGlvbiBkYXRhYmFzZSBmb3IgWCBcCitXaW5kb3cuICBUaGUgZ29hbCBpcyB0byBwcm92aWRlIHRoZSBjb25zaXN0ZW50LCB3ZWxsLXN0cnVjdHVyZWQsIFwKK2ZyZXF1ZW50bHkgcmVsZWFzZWQgb3BlbiBzb3VyY2Ugb2YgWCBrZXlib2FyZCBjb25maWd1cmF0aW9uIGRhdGEgZm9yIFggXAorV2luZG93IFN5c3RlbSBpbXBsZW1lbnRhdGlvbnMuICBUaGUgcHJvamVjdCBpcyB0YXJnZXRlZCB0byBYS0ItYmFzZWQgXAorc3lzdGVtcy4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly9mcmVlZGVza3RvcC5vcmcvd2lraS9Tb2Z0d2FyZS9YS2V5Ym9hcmRDb25maWciCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PXhrZXlib2FyZC1jb25maWciCisKK0xJQ0VOU0UgPSAiTUlUICYgTUlULXN0eWxlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MGU3ZjIxY2E3ZGI5NzVjNjM0NjdkMmU3NjI0YTEyZjkiCisKK1NSQ19VUkkgPSAiJHtYT1JHX01JUlJPUn0vaW5kaXZpZHVhbC9kYXRhL3hrZXlib2FyZC1jb25maWcvJHtCUE59LSR7UFZ9LnRhci5iejIiCitTUkNfVVJJW21kNXN1bV0gPSAiNGFmMWRlZWI3YzVmNGNhZDYyZTY1OTU3ZDk4ZDY3NTgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGU0NDNjZjdjYTJmMGI0MDg0NjQ3MmMwMjk2NDdhMDU5MzNmYzcwNWQ2MTFlMTQ3OGM0ZGI4YTQ4YTZmMzhiZiIKKworU0VDVElPTiA9ICJ4MTEvbGlicyIKK0RFUEVORFMgPSAiaW50bHRvb2wtbmF0aXZlIHZpcnR1YWwvZ2V0dGV4dCB1dGlsLW1hY3JvcyBsaWJ4c2x0LW5hdGl2ZSIKKworRVhUUkFfT0VDT05GID0gIi0td2l0aC14a2ItcnVsZXMtc3ltbGluaz14b3JnIC0tZGlzYWJsZS1ydW50aW1lLWRlcHMiCisKK0ZJTEVTXyR7UE59ICs9ICIke2RhdGFkaXJ9L1gxMS94a2IiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBnZXR0ZXh0CisKK2RvX2luc3RhbGxfYXBwZW5kICgpIHsKKyAgICBpbnN0YWxsIC1kICR7RH0ke2RhdGFkaXJ9L1gxMS94a2IvY29tcGlsZWQKKyAgICBjZCAke0R9JHtkYXRhZGlyfS9YMTEveGtiL3J1bGVzICYmIGxuIC1zZiBiYXNlIHhvcmcKK30KZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi94b3JnLWxpYi1jb21tb24uaW5jIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3hvcmctbGliLWNvbW1vbi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDlkZjAxMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi94b3JnLWxpYi1jb21tb24uaW5jCkBAIC0wLDAgKzEsMjYgQEAKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cueC5vcmciCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PXhvcmciCisKK1NFQ1RJT04gPSAieDExL2xpYnMiCitMSUNFTlNFID0gIk1JVC1YIgorREVQRU5EUyA9ICJ1dGlsLW1hY3JvcyIKKworWE9SR19QTiA9ICIke0JQTn0iCisKK1NSQ19VUkkgPSAiJHtYT1JHX01JUlJPUn0vaW5kaXZpZHVhbC9saWIvJHtYT1JHX1BOfS0ke1BWfS50YXIuYnoyIgorCitTID0gIiR7V09SS0RJUn0vJHtYT1JHX1BOfS0ke1BWfSIKKworaW5oZXJpdCBhdXRvdG9vbHMgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrIHBrZ2NvbmZpZworCitFWFRSQV9PRUNPTkYgPSAiLS1kaXNhYmxlLXNwZWNzIC0td2l0aG91dC1ncm9mZiAtLXdpdGhvdXQtcHMycGRmIC0td2l0aG91dC1mb3AiCisKK1BBQ0tBR0VDT05GSUcgPz89ICIiCitQQUNLQUdFQ09ORklHW3htbHRvXSA9ICItLXdpdGgteG1sdG8sIC0td2l0aG91dC14bWx0bywgeG1sdG8tbmF0aXZlIGRvY2Jvb2steG1sLWR0ZDQtbmF0aXZlIGRvY2Jvb2steHNsLXN0eWxlc2hlZXRzLW5hdGl2ZSIKKworVU5LTk9XTl9DT05GSUdVUkVfV0hJVEVMSVNUICs9ICItLWVuYWJsZS1tYWxsb2MwcmV0dXJuc251bGwgLS1kaXNhYmxlLW1hbGxvYzByZXR1cm5zbnVsbCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1zcGVjcyAtLXdpdGhvdXQtZ3JvZmYgLS13aXRob3V0LXBzMnBkZiAtLXdpdGhvdXQtZm9wIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS13aXRob3V0LXhtbHRvIC0td2l0aC14bWx0byBcCisiCisKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA/PSAieDExIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctbGliL3h0cmFuc18xLjMuNS5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi94dHJhbnNfMS4zLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDViN2YxYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLWxpYi94dHJhbnNfMS4zLjUuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJYVHJhbnM6IFggVHJhbnNwb3J0IGxpYnJhcnkiCisKK0RFU0NSSVBUSU9OID0gIlRoZSBYIFRyYW5zcG9ydCBJbnRlcmZhY2UgaXMgaW50ZW5kZWQgdG8gY29tYmluZSBhbGwgXAorc3lzdGVtIGFuZCB0cmFuc3BvcnQgc3BlY2lmaWMgY29kZSBpbnRvIGEgc2luZ2xlIHBsYWNlLiAgVGhpcyBBUEkgc2hvdWxkIFwKK2JlIHVzZWQgYnkgYWxsIGxpYnJhcmllcywgY2xpZW50cyBhbmQgc2VydmVycyBvZiB0aGUgWCBXaW5kb3cgU3lzdGVtLiBcCitVc2Ugb2YgdGhpcyBBUEkgc2hvdWxkIGFsbG93IHRoZSBhZGRpdGlvbiBvZiBuZXcgdHlwZXMgb2YgdHJhbnNwb3J0cyBhbmQgXAorc3VwcG9ydCBmb3IgbmV3IHBsYXRmb3JtcyB3aXRob3V0IG1ha2luZyBhbnkgY2hhbmdlcyB0byB0aGUgc291cmNlIFwKK2V4Y2VwdCBpbiB0aGUgWCBUcmFuc3BvcnQgSW50ZXJmYWNlIGNvZGUuIgorCityZXF1aXJlIHhvcmctbGliLWNvbW1vbi5pbmMKKworTElDRU5TRSA9ICJNSVQgJiBNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00OTM0NzkyMWQ0ZDUyNjgwMjFhOTk5ZjI1MGVkYzljYSIKKworUEUgPSAiMSIKKworUkRFUEVORFNfJHtQTn0tZGV2ID0gIiIKKworaW5oZXJpdCBnZXR0ZXh0CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworU1JDX1VSSVttZDVzdW1dID0gImM1YmE0MzJkZDE1MTRkODU4MDUzZmZlOWY0NzM3ZGQ4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFkYmQzYjM2OTMyY2U0YzA2MmNkMTBmNTdkNzhhMTU2YmE5OGQ2MThiZGI2ZjUwNjY0ZGEzMjc1MDJiYzgzMDEiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9iaWdyZXFzcHJvdG9fMS4xLjIuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9iaWdyZXFzcHJvdG9fMS4xLjIuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjc5OGE0MwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL2JpZ3JlcXNwcm90b18xLjEuMi5iYgpAQCAtMCwwICsxLDE2IEBACityZXF1aXJlIHhvcmctcHJvdG8tY29tbW9uLmluYworCitQRSA9ICIxIgorCitTVU1NQVJZID0gIkJpZ1JlcXM6IFggQmlnIFJlcXVlc3RzIGV4dGVuc2lvbiBoZWFkZXJzIgorCitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgdGhlIHdpcmUgcHJvdG9jb2wgZm9yIHRoZSBcCitCSUctUkVRVUVTVFMgZXh0ZW5zaW9uLCB1c2VkIHRvIHNlbmQgbGFyZ2VyIHJlcXVlc3RzIHRoYXQgdXN1YWwgaW4gb3JkZXIgXAordG8gYXZvaWQgZnJhZ21lbnRhdGlvbi4iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YjEyNzE1NjMwZGE2ZjI2OGQwZDM3MTJlZTFhNTA0ZjQiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIxYTA1ZmIwMWZhMWQ1MTk4ODk0YzkzMWNmOTI1YzAyNSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0NjIxMTZhYjQ0ZTQxZDgxMjFiZmRlOTQ3MzIxOTUwMzcwYjI4NWE1MzE2NjEyYjhmY2U4MzM0ZDUwNzUxYjFlIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8vY2FsaWJyYXRlcHJvdG8vZml4LnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8vY2FsaWJyYXRlcHJvdG8vZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmOGNiMjUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9jYWxpYnJhdGVwcm90by9maXgucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK0FkZCBtaXNzaW5nIGxlbmd0aCBmaWVsZHMgdG8gdGhlIHJlcGxpZXMuIFdpdGhvdXQgdGhlc2UsIHNhbml0eSBjaGVja2luZyBpbiByZWNlbnQgWAorYnJlYWtzIHRoaW5ncy4KKworUlAgMTEvMi8xMAorCisKK0luZGV4OiBnaXQveGNhbGlicmF0ZXByb3RvLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnaXQub3JpZy94Y2FsaWJyYXRlcHJvdG8uaAkyMDEwLTAyLTExIDExOjQ3OjQ1LjcxMTk4NTkzMiArMDAwMAorKysrIGdpdC94Y2FsaWJyYXRlcHJvdG8uaAkyMDEwLTAyLTExIDExOjQwOjIxLjAwMDAwMDAwMCArMDAwMAorQEAgLTY3LDEzICs2NywxMyBAQAorICAgICBCWVRFICAgIHR5cGU7ICAgLyogWF9SZXBseSAqLworICAgICBCWVRFICAgIHBhZDE7CisgICAgIENBUkQxNiAgc2VxdWVuY2VOdW1iZXIgQjE2OworKyAgICBDQVJEMzIgIGxlbmd0aDsKKyAgICAgQ0FSRDMyICBzdGF0dXM7CisgICAgIENBUkQzMiAgcGFkMiBCMzI7CisgICAgIENBUkQzMiAgcGFkMyBCMzI7CisgICAgIENBUkQzMiAgcGFkNCBCMzI7CisgICAgIENBUkQzMiAgcGFkNSBCMzI7CisgICAgIENBUkQzMiAgcGFkNiBCMzI7CistICAgIENBUkQzMiAgcGFkNyBCMzI7CisgfSB4WENhbGlicmF0ZVJhd01vZGVSZXBseTsKKyAKKyAjZGVmaW5lIHN6X3hYQ2FsaWJyYXRlUmF3TW9kZVJlcGx5CTMyCitAQCAtOTIsMTMgKzkyLDEzIEBACisgICAgIEJZVEUgICAgdHlwZTsgICAvKiBYX1JlcGx5ICovCisgICAgIEJZVEUgICAgcGFkMTsKKyAgICAgQ0FSRDE2ICBzZXF1ZW5jZU51bWJlciBCMTY7CisrICAgIENBUkQzMiAgbGVuZ3RoOworICAgICBDQVJEMzIgIHg7CisgICAgIENBUkQzMiAgeTsKKyAgICAgQ0FSRDMyICBwYWQyIEIzMjsKKyAgICAgQ0FSRDMyICBwYWQzIEIzMjsKKyAgICAgQ0FSRDMyICBwYWQ0IEIzMjsKKyAgICAgQ0FSRDMyICBwYWQ1IEIzMjsKKy0gICAgQ0FSRDMyICBwYWQ2IEIzMjsKKyB9IHhYQ2FsaWJyYXRlU2NyZWVuVG9Db29yZFJlcGx5OworIAorICNkZWZpbmUgc3pfeFhDYWxpYnJhdGVTY3JlZW5Ub0Nvb3JkUmVwbHkJMzIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL2NhbGlicmF0ZXByb3RvX2dpdC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL2NhbGlicmF0ZXByb3RvX2dpdC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODhkMTU3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8vY2FsaWJyYXRlcHJvdG9fZ2l0LmJiCkBAIC0wLDAgKzEsMTkgQEAKK3JlcXVpcmUgeG9yZy1wcm90by1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWENhbGlicmF0ZTogVG91Y2hzY3JlZW4gY2FsaWJyYXRpb24gaGVhZGVycyIKKworREVTQ1JJUFRJT04gPSAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIHRoZSB3aXJlIHByb3RvY29sIGZvciB0aGUgXAorVG91Y2hzY3JlZW4gY2FsaWJyYXRpb24gZXh0ZW5zaW9uLiIKKworTElDRU5TRSA9ICJNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly94Y2FsaWJyYXRld2lyZS5oO2VuZGxpbmU9MjM7bWQ1PTdmODZlZjdiMDNjY2U2YzRjOWViZDU5ZDIwY2E0ODVmIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3hjYWxpYnJhdGVwcm90by5oO2VuZGxpbmU9MjM7bWQ1PWU0NDkwNDkxZWRjYzE3MWNhMjRmOTg1NjllZTU4MGRiIgorCitTUkNSRVYgPSAiMWRhNmZkMWUyYzdhNDk2NDgyNDVjOTg0ODFmYWJlYThiOTY5MGE4YyIKKworUFYgPSAiMC4wK2dpdCR7U1JDUFZ9IgorUFIgPSAicjIiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvcHJvdG8vY2FsaWJyYXRlcHJvdG8gXAorICAgICAgICAgICBmaWxlOi8vZml4LnBhdGNoO2FwcGx5PXllcyIKK1MgPSAiJHtXT1JLRElSfS9naXQiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9jb21wb3NpdGVwcm90b18wLjQuMi5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL2NvbXBvc2l0ZXByb3RvXzAuNC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkZmVlMjYKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9jb21wb3NpdGVwcm90b18wLjQuMi5iYgpAQCAtMCwwICsxLDIxIEBACityZXF1aXJlIHhvcmctcHJvdG8tY29tbW9uLmluYworCitTVU1NQVJZID0gIlhjb21wb3NpdGU6IFggY29tcG9zaXRlIGV4dGVuc2lvbiBoZWFkZXJzIgorCitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgdGhlIHdpcmUgcHJvdG9jb2wgZm9yIHRoZSBYIFwKK2NvbXBvc2l0ZSBleHRlbnNpb24uICBUaGUgWCBjb21wb3NpdGUgZXh0ZW5zaW9uIHByb3ZpZGVzIHRocmVlIHJlbGF0ZWQgXAorbWVjaGFuaXNtcyBmb3IgY29tcG9zaXRpbmcgYW5kIG9mZi1zY3JlZW4gc3RvcmFnZS4iCisKK0xJQ0VOU0UgPSAiTUlUICYgTUlULXN0eWxlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MmM0YmZlMTM2ZjRhNDQxOGVhMmYyYTk2YjdjOGYzYzUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vY29tcG9zaXRlLmg7ZW5kbGluZT00MzttZDU9Y2JkNDRkNDA3OTA1M2FhNzU5MzBlZDJmMDJiOTI5MjYiCisKK1JDT05GTElDVFNfJHtQTn0gPSAiY29tcG9zaXRlZXh0IgorQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1BSID0gInIxIgorUEUgPSAiMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjk4NDgyZjY1YmExZTc0YTA4YmY1YjA1NmE0MDMxZWYwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA0OTM1OWYwYmUwYjJiOTg0YTgxNDljOTY2ZGQwNGU4YzU4ZTZlYWRlMmE0YTMwOWNmMTEyNjYzNWNjZDBjZmMiCisKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL2RhbWFnZXByb3RvXzEuMi4xLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8vZGFtYWdlcHJvdG9fMS4yLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzVkMDI2OAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL2RhbWFnZXByb3RvXzEuMi4xLmJiCkBAIC0wLDAgKzEsMjAgQEAKK3JlcXVpcmUgeG9yZy1wcm90by1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWGRhbWFnZTogWCBEYW1hZ2UgZXh0ZW5zaW9uIGhlYWRlcnMiCisKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBwcm92aWRlcyB0aGUgd2lyZSBwcm90b2NvbCBmb3IgdGhlIERBTUFHRSBcCitleHRlbnNpb24uICBUaGUgREFNQUdFIGV4dGVuc2lvbiBhbGxvd3MgYXBwbGljYXRpb25zIHRvIHJlY2VpdmUgXAoraW5mb3JtYXRpb24gYWJvdXQgY2hhbmdlcyBtYWRlIHRvIHBpeGVsIGNvbnRlbnRzIG9mIHdpbmRvd3MgYW5kIFwKK3BpeG1hcHMuIgorCitMSUNFTlNFID0gIk1JVC1zdHlsZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ1ZjVhMmRlNjVjM2E4NGNiZGU3NjlmMDdhNzY5NjA4IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RhbWFnZXdpcmUuaDtlbmRsaW5lPTIzO21kNT00YTQ1MDFhNTkyZGJjN2RlNWNlODkyNTVlNTBkMDI5NiIKKworUkNPTkZMSUNUU18ke1BOfSA9ICJkYW1hZ2VleHQiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKK1BSID0gInIxIgorUEUgPSAiMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjk5OGU1OTA0NzY0YjgyNjQyY2M2M2Q5N2I0YmE5ZTk1IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVjN2MxMTJlOWI5ZWE4YTlkNWIwMTllNWYxN2Q0ODFhZTIwZjc2NmNiN2E0NjQ4MzYwZTdjMWI0NmZjOWZjNWIiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9kbXhwcm90b18yLjMuMS5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL2RteHByb3RvXzIuMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5NjBlNWQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9kbXhwcm90b18yLjMuMS5iYgpAQCAtMCwwICsxLDE4IEBACityZXF1aXJlIHhvcmctcHJvdG8tY29tbW9uLmluYworCitTVU1NQVJZID0gIkRNWDogRGlzdHJpYnV0ZWQgTXVsdGloZWFkIGV4dGVuc2lvbiBoZWFkZXJzIgorCitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgdGhlIHdpcmUgcHJvdG9jb2wgZm9yIHRoZSBETVggXAorZXh0ZW5zaW9uLiAgVGhlIERNWCBleHRlbnNpb24gcHJvdmlkZXMgc3VwcG9ydCBmb3IgY29tbXVuaWNhdGlvbiB3aXRoIFwKK2FuZCBjb250cm9sIG9mIFhkbXggc2VydmVyLiAgQXR0cmlidXRlcyBvZiB0aGUgWGRteCBzZXJ2ZXIgYW5kIG9mIHRoZSBcCitiYWNrLWVuZCBzY3JlZW5zIGF0dGFjaGVkIHRvIHRoZSBzZXJ2ZXIgY2FuIGJlIHF1ZXJpZWQgYW5kIG1vZGlmaWVkIHZpYSBcCit0aGlzIHByb3RvY29sLiIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1hM2MzNDk5MjMxYTgwMzVlZmQwZTAwNGNmYmQzYjcyYSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kbXhwcm90by5oO2VuZGxpbmU9MzI7bWQ1PWFiODUwOTk1NWMzZGQ0YzY1ZmFjNzI4ZTFiMzY3YmM0IgorCitQRSA9ICIxIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNGVlMTc1YmJkNDRkMDVjMzRkNDNiYjEyOWJlNTA5OGEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTcyMDUxZTZhM2UwNmIyMzZkMTllZWQ1NjM2ODExN2I3NDVjYTFlMWEyN2JkYzUwZmQ1MWFhMzc1YmVhNjUwOSIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL2RyaTJwcm90b18yLjguYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9kcmkycHJvdG9fMi44LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0YzQwYzUKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9kcmkycHJvdG9fMi44LmJiCkBAIC0wLDAgKzEsMTUgQEAKK3JlcXVpcmUgeG9yZy1wcm90by1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiRFJJMjogRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAyIGhlYWRlcnMiCisKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBwcm92aWRlcyB0aGUgd2lyZSBwcm90b2NvbCBmb3IgdGhlIERpcmVjdCBcCitSZW5kZXJpbmcgSWZucmFzdHJ1Y3R1cmUgMi4gIERJUiBpcyByZXF1aXJlZCBmb3IgbWF5IGhhcmR3YXJlIFwKK2FjY2VsZXJhdGVkIE9wZW5HTCBkcml2ZXJzLiIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0yZTM5NmZhOTE4MzRmODc4NjAzMmNhZDJkYTU2MzhmMyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9kcmkycHJvdG8uaDtlbmRsaW5lPTMxO21kNT0yMmYyOGJmNjhkMDFiNTMzZjI2MTk1ZTk0YjNlZDhjYSIKKworCitTUkNfVVJJW21kNXN1bV0gPSAiYjI3MjFkNWQyNGMwNGQ5OTgwYTBjNjU0MGNiNTM5NmEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjliNTU0NzZkZWY0NGZjN2M0NTliMjUzN2QxN2RiYzczMWUzNmVkNWQ0MTZhZjdjYTBiMWUyZTY3NmY4YWEwNCIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL2RyaTJwcm90b19naXQuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9kcmkycHJvdG9fZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwNzRmNDgKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9kcmkycHJvdG9fZ2l0LmJiCkBAIC0wLDAgKzEsMTggQEAKK3JlcXVpcmUgeG9yZy1wcm90by1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiRFJJMjogRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSAyIGhlYWRlcnMiCisKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBwcm92aWRlcyB0aGUgd2lyZSBwcm90b2NvbCBmb3IgdGhlIERpcmVjdCBcCitSZW5kZXJpbmcgSWZucmFzdHJ1Y3R1cmUgMi4gIERJUiBpcyByZXF1aXJlZCBmb3IgbWF5IGhhcmR3YXJlIFwKK2FjY2VsZXJhdGVkIE9wZW5HTCBkcml2ZXJzLiIKKworU1JDUkVWID0gIjY2YzU2YWIxMGQ5MTdlM2Y0N2Y5MzE3OGQ3ZWFjNjQzMDk3MGQzYzQiCitQViA9ICIxLjk5LjMrZ2l0JHtTUkNQVn0iCitQUiA9ICJyMiIKKworU1JDX1VSSSA9ICJnaXQ6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy9wcm90by9kcmkycHJvdG8iCisKK0xJQ19GSUxFU19DSEtTVU09ImZpbGU6Ly9DT1BZSU5HO21kNT0yZTM5NmZhOTE4MzRmODc4NjAzMmNhZDJkYTU2MzhmMyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8vZHJpM3Byb3RvXzEuMC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL2RyaTNwcm90b18xLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmVkOTdiMwotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL2RyaTNwcm90b18xLjAuYmIKQEAgLTAsMCArMSwxNCBAQAorcmVxdWlyZSB4b3JnLXByb3RvLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJEaXJlY3QgUmVuZGVyaW5nIEluZnJhc3RydWN0dXJlIDMgRXh0ZW5zaW9uIgorCitERVNDUklQVElPTiA9ICJUaGUgRFJJMyBleHRlbnNpb24gcHJvdmlkZXMgbWVjaGFuaXNtcyB0byB0cmFuc2xhdGUgYmV0d2VlbiBkaXJlY3QgXAorcmVuZGVyZWQgYnVmZmVycyBhbmQgWCBwaXhtYXBzLiBXaGVuIGNvbWJpbmVkIHdpdGggdGhlIFByZXNlbnQgZXh0ZW5zaW9uLCBcCithIGNvbXBsZXRlIGRpcmVjdCByZW5kZXJpbmcgc29sdXRpb24gZm9yIE9wZW5HTCBpcyBwcm92aWRlZC4iCisKK0xJQ0VOU0UgPSAiTUlUIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vZHJpM3Byb3RvLmg7ZW5kbGluZT0yMTttZDU9YWM5MGQxZDQxNmJlM2NiMTNlMWQzYzg4Y2Q1MTY2YmYiCisKKworU1JDX1VSSVttZDVzdW1dID0gImEzZDJjYmU2MGE5Y2ExYmYzYWVhNmM5M2M4MTdmZWUzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjAxYmU0OWQ3MDIwMDUxOGI5YTZiMjk3MTMxZjZjYzcxZjRlYTJkZTE3NDM2ODk2YWYxNTMyMjZhNzc0ZmMwNzQiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9maXhlc3Byb3RvXzUuMC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL2ZpeGVzcHJvdG9fNS4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5ZmI4OGQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9maXhlc3Byb3RvXzUuMC5iYgpAQCAtMCwwICsxLDIyIEBACityZXF1aXJlIHhvcmctcHJvdG8tY29tbW9uLmluYworCitTVU1NQVJZID0gIlhGaXhlczogWCBGaXhlcyBleHRlbnNpb24gaGVhZGVycyIKKworREVTQ1JJUFRJT04gPSAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIHRoZSB3aXJlIHByb3RvY29sIGZvciB0aGUgWCBGaXhlcyBcCitleHRlbnNpb24uICBUaGlzIGV4dGVuc2lvbiBpcyBkZXNpZ25lZCB0byBwcm92aWRlIHNlcnZlci1zaWRlIHN1cHBvcnQgXAorZm9yIGFwcGxpY2F0aW9uIHdvcmsgYXJvdW5kcyB0byBzaG9ydGNvbWluZ3MgaW4gdGhlIGNvcmUgWCB3aW5kb3cgXAorc3lzdGVtLiIKKworCitMSUNFTlNFID0gIk1JVCAmIE1JVC1zdHlsZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTI2MmE3YTg3ZGE1NmU2NmRkNjM5YmY3MzM0YTExMGM2IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3hmaXhlc3Byb3RvLmg7ZW5kbGluZT00MzttZDU9YzNhOWVlNmRiMzUzMmVkMGQ0NGRlYTI2NmNmYzk3ZjQiCisKK1JDT05GTElDVFNfJHtQTn0gPSAiZml4ZXNleHQiCitQUiA9ICJyMSIKK1BFID0gIjEiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworU1JDX1VSSVttZDVzdW1dID0gImU3NDMxYWI4NGQzN2IyNjc4YWY3MWUyOTM1NWUxMDFkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImJhMmYzZjMxMjQ2YmRkM2YyYTBhY2Y4YmQzYjA5YmE5OWNhYjk2NWM3ZmIyYzJjOTJiN2RjNzI4NzBlNDI0Y2UiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9mb250c3Byb3RvXzIuMS4zLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8vZm9udHNwcm90b18yLjEuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yN2ZjMjgxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8vZm9udHNwcm90b18yLjEuMy5iYgpAQCAtMCwwICsxLDE4IEBACityZXF1aXJlIHhvcmctcHJvdG8tY29tbW9uLmluYworCitTVU1NQVJZID0gIlhGb250OiBYIEZvbnQgcmFzdGVyaXNhdGlvbiBoZWFkZXJzIgorCitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgdGhlIHdpcmUgcHJvdG9jb2wgZm9yIHRoZSBYIEZvbnQgXAorcmFzdGVyaXNhdGlvbiBleHRlbnNpb25zLiAgVGhlc2UgZXh0ZW5zaW9ucyBhcmUgdXNlZCB0byBjb250cm9sIFwKK3NlcnZlci1zaWRlIGZvbnQgY29uZmlndXJhdGlvbnMuIgorCitMSUNFTlNFID0gIk1JVC1zdHlsZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWMzZTQ4YWE5Y2U4NjhjOGU5MGYwNDAxZGI0MWMxMWEyIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL0ZTcHJvdG8uaDtlbmRsaW5lPTQ0O21kNT1kMmU1OGUyNzA5NWU1ZWE3ZDRhZDQ1NmNjYjkxOTg2YyIKKworUEUgPSAiMSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICIzNjkzNGQwMGIwMDU1NWVhYWNkZTlmMDkxZjM5MmY5NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyNTkwNDZiMGRkOTEzMDgyNWM0YTRjNDc5YmEzNTkxZDZkMGYxN2EzM2Y1NGUyOTRiNTY0Nzg3MjlhNmU1YWI4IgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8vZ2xwcm90b18xLjQuMTcuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9nbHByb3RvXzEuNC4xNy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYjAzZDMzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8vZ2xwcm90b18xLjQuMTcuYmIKQEAgLTAsMCArMSwxOCBAQAorcmVxdWlyZSB4b3JnLXByb3RvLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJPcGVuR0w6IFggT3BlbkdMIGV4dGVuc2lvbiBoZWFkZXJzIgorCitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgdGhlIHdpcmUgcHJvdG9jb2wgZm9yIHRoZSBcCitPcGVuR0wtcmVsYXRlZCBleHRlbnNpb25zLCB1c2VkIHRvIGVuYWJsZSB0aGUgcmVuZGVyaW5nIG9mIGFwcGxpY2F0aW9ucyBcCit1c2luZyBPcGVuR0wuIgorCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ0NGVkMDE0Njk5Nzg1NjMwNGRmYmI1MTJhNTlhOGRlIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2dseHByb3RvLmg7YmVnaW5saW5lPTQ7ZW5kbGluZT0zMjttZDU9NmI3OWM1NzBmNjQ0MzYzYjM1NjQ1NmU3ZDQ0NDcxZDkiCisKK1BFID0gIjEiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlc2RrIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNTU2NWYxYjBmYWNmNGE1OWMyNzc4MjI5YzFmNzBkMTAiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWRhYTk0YmRlZDMxMGEyYmZjYmI5ZGViNGQ3NTFkOTY1ZmNmZTZmYjNhMmY2ZDI0MmUyZGYyZDY1ODlkYmU0MCIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL2lucHV0cHJvdG9fMi4zLjEuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9pbnB1dHByb3RvXzIuMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlOGUwYzEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9pbnB1dHByb3RvXzIuMy4xLmJiCkBAIC0wLDAgKzEsMjAgQEAKK3JlcXVpcmUgeG9yZy1wcm90by1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWEk6IFggSW5wdXQgZXh0ZW5zaW9uIGhlYWRlcnMiCisKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBwcm92aWRlcyB0aGUgd2lyZSBwcm90b2NvbCBmb3IgdGhlIFggSW5wdXQgXAorZXh0ZW5zaW9uLiAgVGhlIGV4dGVuc2lvbiBzdXBwb3J0cyBpbnB1dCBkZXZpY2VzIG90aGVyIHRoZW4gdGhlIGNvcmUgWCBcCitrZXlib2FyZCBhbmQgcG9pbnRlci4iCisKK0xJQ0VOU0UgPSAiTUlUICYgTUlULXN0eWxlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZTU2MmNjMGY2NTg3Yjk2MWYwMzIyMTFkODE2MGYzMWUgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vWEkycHJvdG8uaDtlbmRsaW5lPTQ4O21kNT0xYWMxNTgxZTYxMTg4ZGEyODg1Y2MxNGZmNDliMjBiZSIKKworUEUgPSAiMSIKKworaW5oZXJpdCBnZXR0ZXh0CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworU1JDX1VSSVttZDVzdW1dID0gIjZjYWViZWFkNGI3NzliYTAzMTcyN2Y2NmE3ZmZhMzU4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjVhNDdlZTYyMDUzYTZhY2VmM2E4M2Y1MDYzMTI0OTRiZTE0NjEwNjhkMGI5MjY5ZDgxODgzOTcwM2I5NWMxZDEiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9pbnB1dHByb3RvX2dpdC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL2lucHV0cHJvdG9fZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1MjBmM2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9pbnB1dHByb3RvX2dpdC5iYgpAQCAtMCwwICsxLDE5IEBACityZXF1aXJlIHhvcmctcHJvdG8tY29tbW9uLmluYworCitTVU1NQVJZID0gIlhJOiBYIElucHV0IGV4dGVuc2lvbiBoZWFkZXJzIgorCitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgdGhlIHdpcmUgcHJvdG9jb2wgZm9yIHRoZSBYIElucHV0IFwKK2V4dGVuc2lvbi4gIFRoZSBleHRlbnNpb24gc3VwcG9ydHMgaW5wdXQgZGV2aWNlcyBvdGhlciB0aGVuIHRoZSBjb3JlIFggXAora2V5Ym9hcmQgYW5kIHBvaW50ZXIuIgorCitQUiA9ICJyMSIKK1BFID0gIjEiCitTUkNSRVYgPSAiNzIwMzAzNjUyMmJhOWQ0YjIyNGQyODJkNmFmYzJkMGI5NDc3MTFlZSIKK1BWID0gIjEuOS45OS4xMitnaXQke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9hbm9uZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQveG9yZy9wcm90by9pbnB1dHByb3RvIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBnZXR0ZXh0CisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL2ticHJvdG9fMS4wLjcuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9rYnByb3RvXzEuMC43LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2ZjVjOTIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9rYnByb3RvXzEuMC43LmJiCkBAIC0wLDAgKzEsMTggQEAKK3JlcXVpcmUgeG9yZy1wcm90by1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWEtCOiBYIEtleWJvYXJkIGV4dGVuc2lvbiBoZWFkZXJzIgorCitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgdGhlIHdpcmUgcHJvdG9jb2wgZm9yIHRoZSBYIFwKK0tleWJvYXJkIGV4dGVuc2lvbi4gIFRoaXMgZXh0ZW5zaW9uIGlzIHVzZWQgdG8gY29udHJvbCBvcHRpb25zIHJlbGF0ZWQgXAordG8ga2V5Ym9hcmQgaGFuZGxpbmcgYW5kIGxheW91dC4iCisKK0xJQ0VOU0UgPSAiTUlULXN0eWxlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9N2RkNmVhOTllMmE4M2E1NTJjMDJjODA5NjM2MjNjMzggXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vWEtCcHJvdG8uaDtiZWdpbmxpbmU9MTtlbmRsaW5lPTI1O21kNT01NzQ0ZWVmZjQwN2FlYjZlN2ExMzQ2ZWViYWI0ODZhMiIKKworUEUgPSAiMSIKKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUgbmF0aXZlc2RrIgorCitTUkNfVVJJW21kNXN1bV0gPSAiOTRhZmM5MGMxZjdiZWY0YTI3ZmRkNTllY2UzOWM4NzgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjg4MjIxMGI3NjM3NmUzZmEwMDZiMTFkYmQ4OTBlNTZlYzA5NDJiYzU2ZTY1ZDEyNDlmZjRhZjg2ZjkwYjg1NyIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3ByZXNlbnRwcm90b19naXQuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9wcmVzZW50cHJvdG9fZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiYjZmMzIKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9wcmVzZW50cHJvdG9fZ2l0LmJiCkBAIC0wLDAgKzEsMjQgQEAKK3JlcXVpcmUgeG9yZy1wcm90by1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIHRoZSBiYXNpYyBoZWFkZXJzIGZvciB0aGUgWCBXaW5kb3cgU3lzdGVtIgorREVTQ1JJUFRJT04gPSAiVGhlIFByZXNlbnQgZXh0ZW5zaW9uIHByb3ZpZGVzIGEgd2F5IGZvciBhcHBsaWNhdGlvbnMgdG8gdXBkYXRlIHRoZWlyIFwKKyAgICAgICAgICAgICAgIHdpbmRvdyBjb250ZW50cyBmcm9tIGEgcGl4bWFwIGluIGEgd2VsbCBkZWZpbmVkIGZhc2hpb24sIHN5bmNocm9uaXppbmcgXAorICAgICAgICAgICAgICAgd2l0aCB0aGUgZGlzcGxheSByZWZyZXNoIGFuZCBwb3RlbnRpYWxseSB1c2luZyBhIG1vcmUgZWZmaWNpZW50IFwKKyAgICAgICAgICAgICAgIG1lY2hhbmlzbSB0aGFuIGNvcHlpbmcgdGhlIGNvbnRlbnRzIG9mIHRoZSBzb3VyY2UgcGl4bWFwLlwKKyAgICAgICAgICAgICAgIgorCitMSUNFTlNFID0gIkdQTHYyIgorCitTUkNSRVYgPSAiMjRmM2E1NmU1NDFiMGE5ZTZjNmVlNzYwODFmNDQxMjIxYTEyMGVmOSIKK1BWID0gIjEuMCtnaXQke1NSQ1BWfSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDdlNTA4Y2EyODBmZGU5NzkwNmVhY2I3Nzg5MmMzYWMiCisKK1NSQ19VUkkgPSAiZ2l0Oi8vYW5vbmdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L3hvcmcvcHJvdG8vcHJlc2VudHByb3RvIgorUyA9ICIke1dPUktESVJ9L2dpdCIKKworUFIgPSAicjEiCisKK2luaGVyaXQgYXV0b3Rvb2xzCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8vcmFuZHJwcm90b18xLjUuMC5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3JhbmRycHJvdG9fMS41LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjU5ZTUyNQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3JhbmRycHJvdG9fMS41LjAuYmIKQEAgLTAsMCArMSwxOSBAQAorcmVxdWlyZSB4b3JnLXByb3RvLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYUmFuZFI6IFggUmVzaXplLCBSb3RhdGUgYW5kIFJlZmxlY3QgZXh0ZW5zaW9uIGhlYWRlcnMiCisKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBwcm92aWRlcyB0aGUgd2lyZSBwcm90b2NvbCBmb3IgdGhlIFggUmVzaXplLCBcCitSb3RhdGUgYW5kIFJlZmxlY3QgZXh0ZW5zaW9uLiAgVGhpcyBleHRlbnNpb24gcHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gXAorcmVzaXplLCByb3RhdGUgYW5kIHJlZmxlY3QgdGhlIHJvb3Qgd2luZG93IG9mIGEgc2NyZWVuLiIKKworTElDRU5TRSA9ICJNSVQtc3R5bGUiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT0wMDQyNmQ0MWJkM2Q5MjY3Y2Y5YmJiMmRmOTMyM2E1ZSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9yYW5kcnByb3RvLmg7ZW5kbGluZT0zMDttZDU9Mzg4NTk1N2M2MDQ4ZmRmMzMxMGFjOGJhNTRjYTJjM2YiCisKK1JDT05GTElDVFNfJHtQTn0gPSAicmFuZHJleHQiCitQRSA9ICIxIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJhNDY3NjVjOGRjYWNiNzExNGM4MjFiYWYwZGYxZTc5NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0YzY3NTUzM2U3OWNkNzMwOTk3ZDIzMmM4ODk0YjY2OTIxNzRkY2U1OGQzZTIwNzAyMWI4Zjg2MGJlNDk4NDY4IgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8vcmVjb3JkcHJvdG9fMS4xNC4yLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8vcmVjb3JkcHJvdG9fMS4xNC4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkMjMxN2MKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9yZWNvcmRwcm90b18xLjE0LjIuYmIKQEAgLTAsMCArMSwxOCBAQAorcmVxdWlyZSB4b3JnLXByb3RvLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYUmVjb3JkOiBYIFJlY29yZCBleHRlbnNpb24gaGVhZGVycyIKKworREVTQ1JJUFRJT04gPSAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIHRoZSB3aXJlIHByb3RvY29sIGZvciB0aGUgWCBSZWNvcmQgXAorZXh0ZW5zaW9uLiAgVGhpcyBleHRlbnNpb24gaXMgdXNlZCB0byByZWNvcmQgYW5kIHBsYXkgYmFjayBldmVudCBcCitzZXF1ZW5jZXMuIgorCitMSUNFTlNFID0gIk1JVC1zdHlsZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTU3NTgyN2EwZjU1NGJiZWQzMzI1NDI5NzZkNWYzZDQwIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3JlY29yZHByb3RvLmg7ZW5kbGluZT0xOTttZDU9MWNiYjBkZDQ1YTBiMDYwZmY4MzM5MDE2MjBhM2U3MzgiCisKK1JDT05GTElDVFNfJHtQTn0gPSAicmVjb3JkZXh0IgorUFIgPSAicjEiCitQRSA9ICIxIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMWI0ZTVkZWRlNWVhNTE5MDZmMTUzMGNhMWUyMWQyMTYiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTc3NzU0OGQyZTkyYWEyNTlmMTUyOGRlM2M0YTM2ZDE1ZTA3YTQ2NTBkMDk3NjU3M2E4ZTJmZjU0MzdlNzM3MCIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3JlbmRlcnByb3RvXzAuMTEuMS5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3JlbmRlcnByb3RvXzAuMTEuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjgwMGVjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8vcmVuZGVycHJvdG9fMC4xMS4xLmJiCkBAIC0wLDAgKzEsMjEgQEAKK3JlcXVpcmUgeG9yZy1wcm90by1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWFJlbmRlcjogWCByZW5kZXJpbmcgRXh0ZW5zaW9uIGhlYWRlcnMiCisKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBwcm92aWRlcyB0aGUgd2lyZSBwcm90b2NvbCBmb3IgdGhlIFggXAorUmVuZGVyaW5nIGV4dGVuc2lvbi4gIFRoaXMgaXMgdGhlIGJhc2lzIHRoZSBpbWFnZSBjb21wb3NpdGlvbiB3aXRoaW4gdGhlIFwKK1ggd2luZG93IHN5c3RlbS4iCisKK0xJQ0VOU0UgPSAiTUlULXN0eWxlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9ZjgyNmQ5OTc2NTE5NjM1MmU2MTIyYTQwNmNmMGQwMjQgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcmVuZGVycHJvdG8uaDtiZWdpbmxpbmU9NDtlbmRsaW5lPTI0O21kNT0zZTVlMjg1MWRhZDI0MGIwYTNhMjdjNDc3NmI0ZmQxZiIKKworUkNPTkZMSUNUU18ke1BOfSA9ICJyZW5kZXJleHQiCitQUiA9ICJyMSIKK1BFID0gIjEiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworU1JDX1VSSVttZDVzdW1dID0gImE5MTRjY2MxZGU2NmRkZWI0YjYxMWM2YjA2ODZlMjc0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA2NzM1YTViOTJiMjA3NTkyMDRlNDc1MWVjZDYwNjRhMmFkOGE2MjQ2YmI2NWIzMDc4Yjg2MmEwMGRlZjI1MzciCisKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3Jlc291cmNlcHJvdG9fMS4yLjAuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9yZXNvdXJjZXByb3RvXzEuMi4wLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4YjYxMGEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9yZXNvdXJjZXByb3RvXzEuMi4wLmJiCkBAIC0wLDAgKzEsMTkgQEAKK3JlcXVpcmUgeG9yZy1wcm90by1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWFJlczogWCBSZXNvdXJjZSBleHRlbnNpb24gaGVhZGVycyIKKworREVTQ1JJUFRJT04gPSAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIHRoZSB3aXJlIHByb3RvY29sIGZvciB0aGUgWCBcCitSZXNvdXJjZSBleHRlbnNpb24uICBYUmVzIHByb3ZpZGVzIGFuIGludGVyZmFjZSB0aGF0IGFsbG93cyBYIGNsaWVudHMgdG8gXAorc2VlIGFuZCBtb25pdG9yIFggcmVzb3VyY2UgdXNhZ2Ugb2YgdmFyaW91cyBjbGllbnRzLiIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT02MDQ4NTkzMDVlNjYyNTAzMDc3MjQwZmVlOGM3N2Q5NyIKKworUkNPTkZMSUNUU18ke1BOfSA9ICJyZXNvdXJjZWV4dCIKKworUFIgPSAicjEiCitQRSA9ICIxIgorCitTUkNfVVJJW21kNXN1bV0gPSAiY2ZkYjU3ZGFlMjIxYjcxYjI3MDNmOGUyOTgwZWFhZjQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiM2M2NjAwM2E2YmRlYjBmNzA5MzJhOWVkM2NmNTdjYzU1NDIzNDE1NDM3OGQzMDFlMGM1Y2ZhMTg5ZDhmNjgxOCIKKwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8vc2NybnNhdmVycHJvdG9fMS4yLjIuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by9zY3Juc2F2ZXJwcm90b18xLjIuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjA3ZjUxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8vc2NybnNhdmVycHJvdG9fMS4yLjIuYmIKQEAgLTAsMCArMSwxOSBAQAorcmVxdWlyZSB4b3JnLXByb3RvLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYc2NybnNhdmVyOiBYIFNjcmVlbiBTYXZlciBleHRlbnNpb24gaGVhZGVycyIKKworREVTQ1JJUFRJT04gPSAiVGhpcyBwYWNrYWdlIHByb3ZpZGVzIHRoZSB3aXJlIHByb3RvY29sIGZvciB0aGUgWCBTY3JlZW4gXAorU2F2ZXIgZXh0ZW5zaW9uLiAgVGhpcyBleHRlbnNpb24gYWxsb3dzIGFuIGV4dGVybmFsIFwic2NyZWVuIHNhdmVyXCIgXAorY2xpZW50IHRvIGRldGVjdCB3aGVuIHRoZSBhbHRlcm5hdGl2ZSBpbWFnZSBpcyB0byBiZSBkaXNwbGF5ZWQgYW5kIHRvIFwKK3Byb3ZpZGUgdGhlIGdyYXBoaWNzLiIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lZWQ0OWI3OGIxNWI0MzZjOTMzYjZiOGIwNTRlMzkwMSBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9zYXZlcnByb3RvLmg7ZW5kbGluZT0yNjttZDU9YTg0YzA2MzczMDUxNTlmM2MwYWIxNzNhYWVlZGU0OGQiCisKK1BFID0gIjEiCisKK0VYVFJBX09FQ09ORl9hcHBlbmQgPSAiIC0tZW5hYmxlLXNwZWNzPW5vIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZWRkOGE3Mzc3NWU4ZWNlMWQ2OTUxNWRkMTc3NjdiZmIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGJiNzBhOGRhMTY0OTMwY2NlYWViNGM3NDE4MDI5MTY2MDUzM2FkM2NjNDUzNzdiMzBhNzk1ZDFiODViY2Q2NSIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3ZpZGVvcHJvdG9fMi4zLjIuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by92aWRlb3Byb3RvXzIuMy4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzYWE3NTkKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by92aWRlb3Byb3RvXzIuMy4yLmJiCkBAIC0wLDAgKzEsMTQgQEAKK3JlcXVpcmUgeG9yZy1wcm90by1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWHY6IFggVmlkZW8gZXh0ZW5zaW9uIGhlYWRlcnMiCisKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBwcm92aWRlcyB0aGUgd2lyZSBwcm90b2NvbCBmb3IgdGhlIFggVmlkZW8gXAorZXh0ZW5zaW9uLiAgVGhpcyBleHRlbnNpb24gYWxvd3MgZm9yIGFjY2VybGF0ZWQgZHJhd2luZyBvZiB2aWRlb3MuIgorCitMSUNFTlNFID0gIk1JVCAmIE1JVC1zdHlsZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWNlMzQ3MmExMTlhODY0MDg1ZmE0MTU1Y2IwOTc5YTdiIgorCitQRSA9ICIxIgorCitTUkNfVVJJW21kNXN1bV0gPSAiZTY1ODY0MTU5NTMyN2QzOTkwZWFiNzBmZGI1NWNhOGIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiOGRhZTE2OGNiODIwZmNkMzJmNTY0ODc5YWZiM2YyNGQyN2MxNzYzMDBkOWFmNjY4MTlhMTgyNjU1MzliZDRiNiIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3hjYi1wcm90by5pbmMgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94Y2ItcHJvdG8uaW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlMWI1N2IKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94Y2ItcHJvdG8uaW5jCkBAIC0wLDAgKzEsMjUgQEAKK1NVTU1BUlkgPSAiWENCOiBUaGUgWCBwcm90b2NvbCBDIGJpbmRpbmcgaGVhZGVycyIKK0RFU0NSSVBUSU9OID0gIkZ1bmN0aW9uIHByb3RvdHlwZXMgZm9yIHRoZSBYIHByb3RvY29sIEMtbGFuZ3VhZ2UgQmluZGluZyBcCisoWENCKS4gIFhDQiBpcyBhIHJlcGxhY2VtZW50IGZvciBYbGliIGZlYXR1cmluZyBhIHNtYWxsIGZvb3RwcmludCwgXAorbGF0ZW5jeSBoaWRpbmcsIGRpcmVjdCBhY2Nlc3MgdG8gdGhlIHByb3RvY29sLCBpbXByb3ZlZCB0aHJlYWRpbmcgXAorc3VwcG9ydCwgYW5kIGV4dGVuc2liaWxpdHkuIgorSE9NRVBBR0UgPSAiaHR0cDovL3hjYi5mcmVlZGVza3RvcC5vcmciCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PVhDQiIKKworU0VDVElPTiA9ICJ4MTEvbGlicyIKK0xJQ0VOU0UgPSAiTUlULVgiCisKK1NSQ19VUkkgPSAiaHR0cDovL3hjYi5mcmVlZGVza3RvcC5vcmcvZGlzdC94Y2ItcHJvdG8tJHtQVn0udGFyLmJ6MiIKKworaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnIHB5dGhvbm5hdGl2ZQorCitQQUNLQUdFUyArPSAicHl0aG9uLXhjYmdlbiIKKworRklMRVNfJHtQTn0tZGV2ICs9ICIke2RhdGFkaXJ9L3hjYi8qLnhtbCAke2RhdGFkaXJ9L3hjYi8qLnhzZCIKK0ZJTEVTX3B5dGhvbi14Y2JnZW4gPSAiJHtsaWJkaXJ9L3B5dGhvbioiCisKK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCitSUkVDT01NRU5EU18ke1BOfS1kYmcgPSAiJHtQTn0tZGV2ICg9ICR7RVhURU5EUEtHVn0pIgorCitERVBFTkRTX2FwcGVuZF9jbGFzcy1uYXRpdmUgPSAiIHB5dGhvbi1uYXRpdmUiCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94Y2ItcHJvdG9fMS4xMS5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3hjYi1wcm90b18xLjExLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViYzVhMTEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94Y2ItcHJvdG9fMS4xMS5iYgpAQCAtMCwwICsxLDkgQEAKK2luY2x1ZGUgeGNiLXByb3RvLmluYworCitMSUNFTlNFID0gIk1JVCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWQ3NjNiMDgxY2IxMGMyMjM0MzViMDFlMDBkYzBhYmE3IFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9kcmkyLnhtbDtiZWdpbmxpbmU9MjtlbmRsaW5lPTI4O21kNT1mODc2M2IxM2ZmNDMyZTg1OTdlMGQ2MTBjZjU5OGU2NSIKKworCitTUkNfVVJJW21kNXN1bV0gPSAiNmJmMjc5NzQ0NWRjNmQ0M2U5ZTQ3MDdjMDgyZWZmOWMiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYjRhY2VlZTY1MDJhMGNlNDVmYzM5YjMzYzU0MWEyZGY0NzE1ZDAwYjcyZTY2MGViZThjNWJiNDQ0NzcxZTMyZSIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3hjYi1wcm90b19naXQuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94Y2ItcHJvdG9fZ2l0LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlYTRkMDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94Y2ItcHJvdG9fZ2l0LmJiCkBAIC0wLDAgKzEsOSBAQAorREVGQVVMVF9QUkVGRVJFTkNFID0gIi0xIgorCitpbmNsdWRlIHhjYi1wcm90by5pbmMKK1NSQ1JFViA9ICJkODFjYTIzM2U5OGJlOGZhNTllOGM5MGQyNjJjMDUxNjk0NGM1YTY2IgorUFYgPSAiMS4yK2dpdHIke1NSQ1BWfSIKK1BSID0gInI0IgorCitTUkNfVVJJID0gImdpdDovL2Fub25naXQuZnJlZWRlc2t0b3Aub3JnL2dpdC94Y2IvcHJvdG8iCitTID0gIiR7V09SS0RJUn0vZ2l0IgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8veGNtaXNjcHJvdG9fMS4yLjIuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94Y21pc2Nwcm90b18xLjIuMi5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzUxYjk0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8veGNtaXNjcHJvdG9fMS4yLjIuYmIKQEAgLTAsMCArMSwxNyBAQAorcmVxdWlyZSB4b3JnLXByb3RvLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYQy1NSVNDOiBYIFhDLU1pc2NlbGxhbmVvdXMgZXh0ZW5zaW9uIGhlYWRlcnMiCisKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBwcm92aWRlcyB0aGUgd2lyZSBwcm90b2NvbCBmb3IgdGhlIFhDLU1JU0MgXAorZXh0ZW5zaW9uLCB3aGljaCBpcyB1c2VkIHRvIGdldCBkZXRhaWxzIG9mIFhJRCBhbGxvY2F0aW9ucyB3aXRoaW4gdGhlIFwKK3NlcnZlci4iCisKK0xJQ0VOU0UgPSAiTUlULXN0eWxlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9MDlkODMwNDdjMTU5OTRlMDVkYjI5YjQyM2VkNjY2MmUiCisKK1BFID0gIjEiCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworU1JDX1VSSVttZDVzdW1dID0gIjVmNDg0N2M3OGU0MWI4MDE5ODJjOGE1ZTA2MzY1YjI0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImIxMzIzNjg2OTM3MjI1NmMzNmRiNzlhZTM5ZDU0MjE0MTcyNjc3ZmI3OWU5Y2RjNTU1ZGNlZWM4MGJkOWQyZGYiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94ZXh0cHJvdG9fNy4zLjAuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94ZXh0cHJvdG9fNy4zLjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQwYmQ5NQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3hleHRwcm90b183LjMuMC5iYgpAQCAtMCwwICsxLDI0IEBACityZXF1aXJlIHhvcmctcHJvdG8tY29tbW9uLmluYworCitTVU1NQVJZID0gIlhFeHQ6IFggRXh0ZW5zaW9uIGhlYWRlcnMiCisKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBwcm92aWRlcyB0aGUgd2lyZSBwcm90b2NvbCBmb3Igc2V2ZXJhbCBYIFwKK2V4dGVuc2lvbnMuICBUaGVzZSBwcm90b2NvbCBleHRlbnNpb25zIGluY2x1ZGUgRE9VQkxFLUJVRkZFUiwgRFBNUywgXAorRXh0ZW5kZWQtVmlzdWFsLUluZm9ybWF0aW9uLCBMQlgsIE1JVF9TSE0sIE1JVF9TVU5EUlktTk9OU1RBTkRBUkQsIFwKK011bHRpLUJ1ZmZlcmluZywgU0VDVVJJVFksIFNIQVBFLCBTWU5DLCBUT0ctQ1VQLCBYQy1BUFBHUk9VUCwgWEMtTUlTQywgXAorWFRFU1QuICBJbiBhZGRpdGlvbiBhIHNtYWxsIHNldCBvZiB1dGlsaXR5IGZ1bmN0aW9ucyBhcmUgYWxzbyBcCithdmFpbGFibGUuIgorCitMSUNFTlNFID0gIk1JVCAmIE1JVC1zdHlsZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTg2ZjI3MzI5MTc1OWQwYmEyYTIyNTg1Y2QxYzA2YzUzIgorCitQRSA9ICIxIgorCitpbmhlcml0IGdldHRleHQKKworRVhUUkFfT0VDT05GX2FwcGVuZCA9ICIgLS1lbmFibGUtc3BlY3M9bm8iCisKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworU1JDX1VSSVttZDVzdW1dID0gIjcwYzkwZjMxM2I0YjA4NTE3NThlZjc3Yjk1MDE5NTg0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImYzZjRiMjNhYzhkYjljM2E5ZTBkOGVkYjU5MTcxM2YzZDcwZWY5YzNiMTc1OTcwZGQ4ODIzZGZjOTJhYTViYjAiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94Zjg2ZGdhcHJvdG9fMi4xLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8veGY4NmRnYXByb3RvXzIuMS5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmYzY2UzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8veGY4NmRnYXByb3RvXzIuMS5iYgpAQCAtMCwwICsxLDE4IEBACityZXF1aXJlIHhvcmctcHJvdG8tY29tbW9uLmluYworCitTVU1NQVJZID0gIlhGcmVlODYtREdBOiBYRnJlZTg2IERpcmVjdCBHcmFwaGljcyBBY2Nlc3MgZXh0ZW5zaW9uIGhlYWRlcnMiCisKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBwcm92aWRlcyB0aGUgd2lyZSBwcm90b2NvbCBmb3IgdGhlIFhGcmVlODYgXAorRGlyZWN0IEdyYXBoaWNzIEFjY2VzcyBleHRlbnNpb24uIFRoaXMgZXh0ZW5zaW9uIGFsbG93cyBkaXJlY3QgZ3JhcGhpY3MgXAorYWNjZXNzIHRvIGEgZnJhbWVidWZmZXItbGlrZSByZWdpb24sIGFzIHdlbGwgYXMgcmVsYXRpdmUgbW91c2UgXAorcmVwb3J0aW5nLiIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lMDFlNjZlNGIzMTcwODhjZjg2OWJjOThlNmFmNGZiNiIKKworUkNPTkZMSUNUU18ke1BOfSA9ICJ4eGY4NmRnYWV4dCIKK1BSID0gInIyIgorUEUgPSAiMSIKKworU1JDX1VSSVttZDVzdW1dID0gImEwMzZkYzJmY2JmMDUyZWMxMDYyMWZkNDhiNjhkYmIxIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImFjNWVmNjUxMDhlMWYyMTQ2Mjg2ZTUzMDgwOTc1NjgzZGFlNDlmYzk0NjgwMDQyZTA0YmQxZTIwMTBlOTkwNTAiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94Zjg2ZHJpcHJvdG9fMi4xLjEuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94Zjg2ZHJpcHJvdG9fMi4xLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNmOTIxMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3hmODZkcmlwcm90b18yLjEuMS5iYgpAQCAtMCwwICsxLDE3IEBACityZXF1aXJlIHhvcmctcHJvdG8tY29tbW9uLmluYworCitTVU1NQVJZID0gIlhGcmVlODYtRFJJOiBYRnJlZTg2IERpcmVjdCBSZW5kZXJpbmcgSW5mcmFzdHJ1Y3R1cmUgZXh0ZW5zaW9uIGhlYWRlcnMiCisKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBwcm92aWRlcyB0aGUgd2lyZSBwcm90b2NvbCBmb3IgdGhlIFhGcmVlODYgXAorRGlyZWN0IFJlbmRlcmluZyBJbmZyYXN0cnVjdHVyZSBleHRlbnNpb24uICBUaGUgWEZyZWU4Ni1EUkkgZXh0ZW5zaW9uIGlzIFwKK3VzZWQgdG8gb3JnYW5pemUgZGlyZWN0IHJlbmRlcmluZyBzdXBwb3J0IG9yIDNEIGNsaWVudHMgYW5kIGhlbHAgXAorYXJiaXRyYXRlIHJlcXVlc3RzLiIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lZjEwM2I5ZDk1MWUzOWZmN2UyM2QzODZlMjAxMWZhMyBcCisgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly94Zjg2ZHJpcHJvdG8uaDtlbmRsaW5lPTM1O21kNT00MmJlM2Q4ZTZkNDI5YWI3OTE3MjU3MmJiMGNmZjU0NCIKKworUEUgPSAiMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjFkNzE2ZDBkYWMzYjY2NGU1ZWUyMGM2OWQzNGJjMTBlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjljNGI4ZDcyMjFjYjZkYzQzMDkyNjljY2MwMDhhMjI3NTM2OThhZTkyNDVhMzk4YTU5ZGYzNWYxNDA0ZDY2MWYiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94Zjg2bWlzY3Byb3RvXzAuOS4zLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8veGY4Nm1pc2Nwcm90b18wLjkuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDY2M2VhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8veGY4Nm1pc2Nwcm90b18wLjkuMy5iYgpAQCAtMCwwICsxLDE3IEBACityZXF1aXJlIHhvcmctcHJvdG8tY29tbW9uLmluYworCitTVU1NQVJZID0gIlhGcmVlODYtTWlzYzogWEZyZWU4NiBtaXNjZWxsYW5lb3VzIGV4dGVuc2lvbiBoZWFkZXJzIgorCitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgdGhlIHdpcmUgcHJvdG9jb2wgZm9yIHRoZSBYRnJlZSBcCittaXNjZWxsYW5lb3VzIGV4dGVuc2lvbi4gIFRoZSBYRnJlZTg2LU1pc2MgZXh0ZW5zaW9uIHByb3ZpZGVzIGEgbWVhbnMgdG8gXAorYWNjZXNzIGlucHV0IGRldmljZSBjb25maWd1cmF0aW9uIHNldHRpbmdzIHNwZWNpZmljIHRvIHRoZSBYRnJlZTg2L1hvcmcgXAorRERYLiIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lMDFlNjZlNGIzMTcwODhjZjg2OWJjOThlNmFmNGZiNiIKKworUFIgPSAicjEiCitQRSA9ICIxIgorCitTUkNfVVJJW21kNXN1bV0gPSAiY2E2M2JiYjMxY2Y1YjdmMzdiMjIzN2U5MjNmZjI1N2EiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDViOGVjNmE0YThjYTIxMDY2ZGNlMTE3ZTA5ZGNjODg1Mzk4NjJlNjE2ZTYwZmIzOTFkZTA1YjM2ZjYzYjA5NSIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3hmODZ2aWRtb2RlcHJvdG9fMi4zLjEuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94Zjg2dmlkbW9kZXByb3RvXzIuMy4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmMzE5MDAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94Zjg2dmlkbW9kZXByb3RvXzIuMy4xLmJiCkBAIC0wLDAgKzEsMTggQEAKK3JlcXVpcmUgeG9yZy1wcm90by1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWEZyZWU4Ni1WTTogWEZyZWU4NiB2aWRlbyBtb2RlIGV4dGVuc2lvbiBoZWFkZXJzIgorCitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgdGhlIHdpcmUgcHJvdG9jb2wgZm9yIHRoZSBYRnJlZTg2IFwKK3ZpZGVvIG1vZGUgZXh0ZW5zaW9uLiAgVGhpcyBleHRlbnNpb24gYWxsb3dzIGNsaWVudCBhcHBsaWNhdGlvbnMgdG8gZ2V0IFwKK2FuZCBzZXQgdmlkZW8gbW9kZSB0aW1pbmdzLiIKKworTElDRU5TRSA9ICJNSVQiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT00OTliZTJmZjM4N2E0MmY4NDYyOGMzNWYzMTFmMTUwMiIKKworUkNPTkZMSUNUU18ke1BOfSA9ICJ4eGY4NnZtZXh0IgorCitQUiA9ICJyMSIKK1BFID0gIjEiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlNzkzZWNlZmVhZWNmZWFiZDFhZWQ2YTAxMDk1MTc0ZSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0NWQ5NDk5YWE3YjczMjAzZmQ2YjM1MDViMDI1OTYyNGFmZWQ1YzE2Yjk0MWJkMDRmY2YxMjNlNWRlNjk4NzcwIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctcHJvdG8veGluZXJhbWFwcm90b18xLjIuMS5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3hpbmVyYW1hcHJvdG9fMS4yLjEuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDAwNzc0ZQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3hpbmVyYW1hcHJvdG9fMS4yLjEuYmIKQEAgLTAsMCArMSwxNyBAQAorcmVxdWlyZSB4b3JnLXByb3RvLWNvbW1vbi5pbmMKKworU1VNTUFSWSA9ICJYaW5lcmFtYTogWGluZXJhbWEgZXh0ZW5zaW9uIGhlYWRlcnMiCisKK0RFU0NSSVBUSU9OID0gIlRoaXMgcGFja2FnZSBwcm92aWRlcyB0aGUgd2lyZSBwcm90b2NvbCBmb3IgdGhlIFhpbmVyYW1hIFwKK2V4dGVuc2lvbi4gIFRoaXMgZXh0ZW5zaW9uIGlzIHVzZWQgZm9yIHJldHJpZXZpbmcgaW5mb3JtYXRpb24gYWJvdXQgXAorcGh5c2ljYWwgb3V0cHV0IGRldmljZXMgd2hpY2ggbWF5IGJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgbG9naWNhbCBYIFwKK3NjcmVlbi4iCisKK0xJQ0VOU0UgPSAiTUlUICYgTUlULXN0eWxlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9M2UzOTdhNTMyNmM4M2Q1ZDBlYmY1YjNmODcxNjNhYzYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vcGFub3JhbWlYcHJvdG8uaDtlbmRsaW5lPTI0O21kNT0wOThlMGJjMDg5MzY4YTk4ODA5MmIzY2JkYTYxN2E1NyIKKworUEUgPSAiMSIKKworU1JDX1VSSVttZDVzdW1dID0gIjk5NTlmZTBiZmIyMmEwZTcyNjA0MzNiOGQxOTk1OTBhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk3NzU3NGJiM2RjMTkyZWNkOWM1NWY1OWY5OTFlYzFkZmYzNDBiZTNlMzEzOTJjOTVkZWZmNDIzZGE1MjQ4NWIiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94b3JnLXByb3RvLWNvbW1vbi5pbmMgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94b3JnLXByb3RvLWNvbW1vbi5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2E0MTdjOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3hvcmctcHJvdG8tY29tbW9uLmluYwpAQCAtMCwwICsxLDI2IEBACitTVU1NQVJZID0gIlggcHJvdG9jb2wgaGVhZGVyczogJHtYT1JHX1BOfSIKK0hPTUVQQUdFID0gImh0dHA6Ly93d3cueC5vcmciCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvZW50ZXJfYnVnLmNnaT9wcm9kdWN0PXhvcmciCisKK1NFQ1RJT04gPSAieDExL2xpYnMiCitMSUNFTlNFID0gIk1JVC1YIgorCitYT1JHX1BOID0gIiR7QlBOfSIKKworU1JDX1VSSSA9ICIke1hPUkdfTUlSUk9SfS9pbmRpdmlkdWFsL3Byb3RvLyR7WE9SR19QTn0tJHtQVn0udGFyLmJ6MiIKKworUyA9ICIke1dPUktESVJ9LyR7WE9SR19QTn0tJHtQVn0iCisKK0RFUEVORFMgPSAidXRpbC1tYWNyb3MiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZworRVhUUkFfT0VDT05GID0gIi0td2l0aG91dC1mb3AiCisKK1VOS05PV05fQ09ORklHVVJFX1dISVRFTElTVCArPSAiLS13aXRob3V0LWZvcCAtLXdpdGhvdXQteG1sdG8gLS13aXRoLXhtbHRvIgorCitQQUNLQUdFQ09ORklHID8/PSAiIgorUEFDS0FHRUNPTkZJR1t4bWx0b10gPSAiLS13aXRoLXhtbHRvLCAtLXdpdGhvdXQteG1sdG8sIHhtbHRvLW5hdGl2ZSBkb2Nib29rLXhtbC1kdGQ0LW5hdGl2ZSBkb2Nib29rLXhzbC1zdHlsZXNoZWV0cy1uYXRpdmUiCisKKyMgJHtQTn0gaXMgZW1wdHkgc28gd2UgbmVlZCB0byB0d2VhayAtZGV2IGFuZCAtZGJnIHBhY2thZ2UgZGVwZW5kZW5jaWVzCitSREVQRU5EU18ke1BOfS1kZXYgPSAiIgorUlJFQ09NTUVORFNfJHtQTn0tZGJnID0gIiR7UE59LWRldiAoPSAke0VYVEVORFBLR1Z9KSIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3hwcm90by94cHJvdG9fZml4X2Zvcl94MzIucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94cHJvdG8veHByb3RvX2ZpeF9mb3JfeDMyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0MGFkMjcKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94cHJvdG8veHByb3RvX2ZpeF9mb3JfeDMyLnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitEb24ndCBhbHdheXMgZGVmaW5lIExPTkc2NCBmb3IgQU1ENjQKKyAgICAKK1gzMiBkZWZpbmVzIF9fYW1kNjRfXy9hbWQ2NCB3aXRoIDMyYml0IGxvbmcuICBXZSBzaG91bGQgc2ltcGx5IGNoZWNrCitfX0xQNjRfXyBiZWZvcmUgZGVmaW5pbmcgTE9ORzY0IHdpdGhvdXQgY2hlY2tpbmcgX19hbWQ2NF9fL2FtZDY0LgorCitUaGlzIGZpeGVzIGNvbXBpbGF0aW9uIHdpdGggeDMyIHRvb2xjaGFpbi4KKworUmVjZWl2ZWQgdGhpcyBwYXRjaCBmcm9tIEguSi4gTHUgPGhqbC50b29sc0BnbWFpbC5jb20+CitTaWduZWQtT2ZmLUJ5OiBOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPiAyMDExLzEyLzEKKworLS0tIHhwcm90by03LjAuMjIvWG1kLmgueDMyCTIwMDktMDctMTEgMDQ6MTk6NTAuMDAwMDAwMDAwIC0wNzAwCisrKysgeHByb3RvLTcuMC4yMi9YbWQuaAkyMDExLTExLTMwIDE3OjE0OjE5LjI5MDM5NTg5MyAtMDgwMAorQEAgLTYyLDcgKzYyLDYgQEAgU09GVFdBUkUuCisgICAgICBkZWZpbmVkKF9faWE2NF9fKSB8fCBkZWZpbmVkKGlhNjQpIHx8IFwKKyAgICAgIGRlZmluZWQoX19zcGFyYzY0X18pIHx8IFwKKyAgICAgIGRlZmluZWQoX19zMzkweF9fKSB8fCBcCistICAgICBkZWZpbmVkKF9fYW1kNjRfXykgfHwgZGVmaW5lZChhbWQ2NCkgfHwgXAorICAgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQorICMgIGRlZmluZSBMT05HNjQJCQkJLyogMzIvNjQtYml0IGFyY2hpdGVjdHVyZSAqLworICMgZW5kaWYKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXByb3RvL3hwcm90b183LjAuMjguYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94cHJvdG9fNy4wLjI4LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0MjdhN2QKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy1wcm90by94cHJvdG9fNy4wLjI4LmJiCkBAIC0wLDAgKzEsMjAgQEAKK3JlcXVpcmUgeG9yZy1wcm90by1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiWGxpYjogQyBMYW5ndWFnZSBYIGludGVyZmFjZSBoZWFkZXJzIgorCitERVNDUklQVElPTiA9ICJUaGlzIHBhY2thZ2UgcHJvdmlkZXMgdGhlIGJhc2ljIGhlYWRlcnMgZm9yIHRoZSBYIFdpbmRvdyBcCitTeXN0ZW0uIgorCitMSUNFTlNFID0gIk1JVCAmIE1JVC1zdHlsZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWI5ZTA1MTEwN2Q1NjI4OTY2NzM5YTBiMmU5YjMyNjc2IgorCitQRSA9ICIxIgorCitTUkNfVVJJICs9ICJmaWxlOi8veHByb3RvX2ZpeF9mb3JfeDMyLnBhdGNoIgorCitFWFRSQV9PRUNPTkZfYXBwZW5kID0gIiAtLWVuYWJsZS1zcGVjcz1ubyIKK0JCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKKworU1JDX1VSSVttZDVzdW1dID0gIjNjZTJmMjMwYzVkOGZhOTI5ZjMyNmFkMWYwZmE0MGE4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI5ZTg1NTY4ZDFmNjhjZWVmOGEyYzA4MWRhZDliYzBlNTUwMGE1M2NmZmZkZTI0YjU2NGRjNDNkNDZkZGY2Y2EiCisKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXV0aWwvZ2NjbWFrZWRlcF8xLjAuMy5iYiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXV0aWwvZ2NjbWFrZWRlcF8xLjAuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jY2YyZjRiCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctdXRpbC9nY2NtYWtlZGVwXzEuMC4zLmJiCkBAIC0wLDAgKzEsMTcgQEAKK1NVTU1BUlkgPSAiUHJvZ3JhbSB0byBjcmVhdGUgZGVwZW5kZW5jaWVzIGluIG1ha2VmaWxlcyIKKworREVTQ1JJUFRJT04gPSAiVGhlIGdjY21ha2VkZXAgcHJvZ3JhbSBjYWxscyAnZ2NjIC1NJyB0byBvdXRwdXQgbWFrZWZpbGUgXAorcnVsZXMgZGVzY3JpYmluZyB0aGUgZGVwZW5kZW5jaWVzIG9mIGVhY2ggc291cmNlZmlsZSwgc28gdGhhdCBtYWtlIGtub3dzIFwKK3doaWNoIG9iamVjdCBmaWxlcyBtdXN0IGJlIHJlY29tcGlsZWQgd2hlbiBhIGRlcGVuZGVuY3kgaGFzIGNoYW5nZWQuIgorCityZXF1aXJlIHhvcmctdXRpbC1jb21tb24uaW5jCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9NYWtlZmlsZS5hbTtlbmRsaW5lPTIwO21kNT0yM2MyNzczOTZkNjkwNDEzMjQ1ZWJiODliMThjNWQ0ZCIKK0RFU0NSSVBUSU9OID0gImNyZWF0ZSBkZXBlbmRlbmNpZXMgaW4gbWFrZWZpbGVzIHVzaW5nICdnY2MgLU0nIgorREVQRU5EUyA9ICJ1dGlsLW1hY3JvcyIKK1JERVBFTkRTXyR7UE59ID0gImdjYyIKKworUFIgPSAicjMiCitQRSA9ICIxIgorCitTUkNfVVJJW21kNXN1bV0gPSAiMTI3ZGRiNjEzMWViNGE1NmZkZjY2NDRhNjNhZGU3ODgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjllMmU3YTU5MGUyN2Y4NGI2NzA4YWI3YTgxZTU0NjM5OWI5NDliZjY1MmZiOWI5NTE5M2UwZTU0M2U2YTU0OCIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy11dGlsL21ha2VkZXBlbmRfMS4wLjUuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy11dGlsL21ha2VkZXBlbmRfMS4wLjUuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRhOTY3YQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXV0aWwvbWFrZWRlcGVuZF8xLjAuNS5iYgpAQCAtMCwwICsxLDIxIEBACityZXF1aXJlIHhvcmctdXRpbC1jb21tb24uaW5jCisKK1NVTU1BUlkgPSAiY3JlYXRlIGRlcGVuZGVuY2llcyBpbiBtYWtlZmlsZXMiCisKK0RFU0NSSVBUSU9OID0gIlRoZSBtYWtlZGVwZW5kIHByb2dyYW0gcmVhZHMgZWFjaCBzb3VyY2VmaWxlIGluIHNlcXVlbmNlIFwKK2FuZCBwYXJzZXMgaXQgbGlrZSBhIEMtcHJlcHJvY2Vzc29yLCBwcm9jZXNzaW5nIFwKK2FsbCAjaW5jbHVkZSwgI2RlZmluZSwgICN1bmRlZiwgI2lmZGVmLCAjaWZuZGVmLCAjZW5kaWYsICNpZiwgI2VsaWYgXAorYW5kICNlbHNlIGRpcmVjdGl2ZXMgc28gdGhhdCBpdCBjYW4gY29ycmVjdGx5IHRlbGwgd2hpY2ggI2luY2x1ZGUsIFwKK2RpcmVjdGl2ZXMgd291bGQgYmUgdXNlZCBpbiBhIGNvbXBpbGF0aW9uLiBBbnkgI2luY2x1ZGUsIGRpcmVjdGl2ZXMgXAorY2FuIHJlZmVyZW5jZSBmaWxlcyBoYXZpbmcgb3RoZXIgI2luY2x1ZGUgZGlyZWN0aXZlcywgYW5kIHBhcnNpbmcgd2lsbCBcCitvY2N1ciBpbiB0aGVzZSBmaWxlcyBhcyB3ZWxsLiIKKworREVQRU5EUyA9ICJ4cHJvdG8gdXRpbC1tYWNyb3MiCitQRSA9ICIxIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NDNhNmVkYTM0YjQ4ZWU4MjFiM2I2NmY0Zjc1M2NlNGYiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJlZmIyZDdjN2UyMjg0MDk0Nzg2M2VmYWVkYzE3NTc0NyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI1MDM5MDNkNDFmYjViYWRiNzNjYjcwZDdiMzc0MGM4YjMwZmUxY2M2OGM1MDRkM2I2YTg1ZTY2NDRjNGU1MDA0IgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctdXRpbC91dGlsLW1hY3Jvc18xLjE5LjAuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy11dGlsL3V0aWwtbWFjcm9zXzEuMTkuMC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNmNmNTBmCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctdXRpbC91dGlsLW1hY3Jvc18xLjE5LjAuYmIKQEAgLTAsMCArMSwxOSBAQAorU1VNTUFSWSA9ICJYIGF1dG90b29scyBtYWNyb3MiCisKK0RFU0NSSVBUSU9OID0gIk00IGF1dG90b29scyBtYWNyb3MgdXNlZCBieSB2YXJpb3VzIFgub3JnIHByb2dyYW1zLiIKKworcmVxdWlyZSB4b3JnLXV0aWwtY29tbW9uLmluYworCitMSUNFTlNFID0gIk1JVCAmIE1JVC1zdHlsZSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTE5NzA1MTFmZGRkNDM5YjA3YTZiYTc4OWQyOGZmNjYyIgorCitQRSA9ICIxIgorCitTUkNfVVJJW21kNXN1bV0gPSAiNDBlMWNhYTQ5YTcxYTI2ZTBhYTY4ZGRkMDAyMDM3MTciCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMGQ0ZGY1MWIyOTAyM2RhZjJmNjNhZWJmM2ViYzYzOGVhODhlZmVkZmQ1NjBhYjU4NjY3NDFhYjNmOTJhY2FhMSIKKworIyAke1BOfSBpcyBlbXB0eSBzbyB3ZSBuZWVkIHRvIHR3ZWFrIC1kZXYgYW5kIC1kYmcgcGFja2FnZSBkZXBlbmRlbmNpZXMKK1JERVBFTkRTXyR7UE59LWRldiA9ICIiCitSUkVDT01NRU5EU18ke1BOfS1kYmcgPSAiJHtQTn0tZGV2ICg9ICR7RVhURU5EUEtHVn0pIgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSBuYXRpdmVzZGsiCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy11dGlsL3hvcmctdXRpbC1jb21tb24uaW5jIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctdXRpbC94b3JnLXV0aWwtY29tbW9uLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOGQwMjJjCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmctdXRpbC94b3JnLXV0aWwtY29tbW9uLmluYwpAQCAtMCwwICsxLDEzIEBACitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lngub3JnIgorQlVHVFJBQ0tFUiA9ICJodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL2VudGVyX2J1Zy5jZ2k/cHJvZHVjdD14b3JnIgorCitTRUNUSU9OID0gIngxMS91dGlscyIKK0xJQ0VOU0UgPSAiTUlULVgiCisKK1hPUkdfUE4gPSAiJHtCUE59IgorCitTUkNfVVJJID0gIiR7WE9SR19NSVJST1J9L2luZGl2aWR1YWwvdXRpbC8ke1hPUkdfUE59LSR7UFZ9LnRhci5neiIKKworUyA9ICIke1dPUktESVJ9LyR7WE9SR19QTn0tJHtQVn0iCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhmODYtY29uZmlnLzEwLXByZWxvYWQtbW9kdWxlcy5jb25mIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhmODYtY29uZmlnLzEwLXByZWxvYWQtbW9kdWxlcy5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjZWI2ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteGY4Ni1jb25maWcvMTAtcHJlbG9hZC1tb2R1bGVzLmNvbmYKQEAgLTAsMCArMSw5IEBACitTZWN0aW9uICJNb2R1bGUiCisgICAgTG9hZCAiZmJkZXZodyIKKyAgICBMb2FkICJmYiIKKyAgICBMb2FkICJzaGFkb3ciCisgICAgTG9hZCAic2hhZG93ZmIiCisgICAgTG9hZCAidmJlIgorICAgIExvYWQgInZnYWh3IgorRW5kU2VjdGlvbgorCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteGY4Ni1jb25maWcvcWVtdWFybS94b3JnLmNvbmYgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteGY4Ni1jb25maWcvcWVtdWFybS94b3JnLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjI5YWUyMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14Zjg2LWNvbmZpZy9xZW11YXJtL3hvcmcuY29uZgpAQCAtMCwwICsxLDY5IEBACisKK1NlY3Rpb24gIkZpbGVzIgorRW5kU2VjdGlvbgorCitTZWN0aW9uICJJbnB1dERldmljZSIKKyAgICBJZGVudGlmaWVyICAgICJHZW5lcmljIEtleWJvYXJkIgorICAgIERyaXZlciAgICAgICAgImV2ZGV2IgorICAgIE9wdGlvbiAgICAgICAgIkNvcmVLZXlib2FyZCIKKyAgICBPcHRpb24gICAgICAgICJEZXZpY2UiICAgICAgIi9kZXYvaW5wdXQvYnktcGF0aC9wbGF0Zm9ybS1pODA0Mi1zZXJpby0wLWV2ZW50LWtiZCIKKyAgICBPcHRpb24gICAgICAgICJYa2JSdWxlcyIgICAgInhvcmciCisgICAgT3B0aW9uICAgICAgICAiWGtiTW9kZWwiICAgICJldmRldiIKKyAgICBPcHRpb24gICAgICAgICJYa2JMYXlvdXQiICAgICJ1cyIKK0VuZFNlY3Rpb24KKworU2VjdGlvbiAiSW5wdXREZXZpY2UiCisgICAgSWRlbnRpZmllciAgICAiQ29uZmlndXJlZCBNb3VzZSIKKyAgICBEcml2ZXIgICAgICAgICJtb3VzZSIKKyAgICBPcHRpb24gICAgICAgICJDb3JlUG9pbnRlciIKKyAgICBPcHRpb24gICAgICAgICJEZXZpY2UiICAgICAgICAiL2Rldi9pbnB1dC9taWNlIgorICAgIE9wdGlvbiAgICAgICAgIlByb3RvY29sIiAgICAgICAgIkltUFMvMiIKKyAgICBPcHRpb24gICAgICAgICJaQXhpc01hcHBpbmciICAgICAgICAiNCA1IgorICAgIE9wdGlvbiAgICAgICAgIkVtdWxhdGUzQnV0dG9ucyIgICAgInRydWUiCitFbmRTZWN0aW9uCisKK1NlY3Rpb24gIklucHV0RGV2aWNlIgorICAgIElkZW50aWZpZXIgICAgIlFlbXUgVGFibGV0IgorICAgIERyaXZlciAgICAgICAgImV2ZGV2IgorICAgIE9wdGlvbiAgICAgICAgIkNvcmVQb2ludGVyIgorICAgIE9wdGlvbiAgICAgICAgIkRldmljZSIgICAgICAgICIvZGV2L2lucHV0L3RvdWNoc2NyZWVuMCIKKyAgICBPcHRpb24gICAgICAgICJVU0IiICAgICAgICAgICAib24iCitFbmRTZWN0aW9uCisKK1NlY3Rpb24gIkRldmljZSIKKyAgICBJZGVudGlmaWVyICAgICJHcmFwaGljcyBDb250cm9sbGVyIgorICAgIERyaXZlciAgICAgICAgImZiZGV2IgorRW5kU2VjdGlvbgorCitTZWN0aW9uICJNb25pdG9yIgorICAgIElkZW50aWZpZXIgICAgIkdlbmVyaWMgTW9uaXRvciIKKyAgICBPcHRpb24gICAgICAgICJEUE1TIgorICAgICMgMTAyNHg2MDAgNTkuODUgSHogKENWVCkgaHN5bmM6IDM3LjM1IGtIejsgcGNsazogNDkuMDAgTUh6CisgICAgTW9kZWxpbmUgIjEwMjR4NjAwXzYwLjAwIiAgIDQ5LjAwICAxMDI0IDEwNzIgMTE2OCAxMzEyICA2MDAgNjAzIDYxMyA2MjQgLWhzeW5jICt2c3luYworICAgICMgNjQweDQ4MCBAIDYwSHogKEluZHVzdHJ5IHN0YW5kYXJkKSBoc3luYzogMzEuNWtIegorICAgIE1vZGVMaW5lICI2NDB4NDgwIiAgICAyNS4yICA2NDAgIDY1NiAgNzUyICA4MDAgICAgNDgwICA0OTAgIDQ5MiAgNTI1IC1oc3luYyAtdnN5bmMKKyAgICAjIDY0MHg0ODAgQCA3Mkh6IChWRVNBKSBoc3luYzogMzcuOWtIegorICAgIE1vZGVMaW5lICI2NDB4NDgwIiAgICAzMS41ICA2NDAgIDY2NCAgNzA0ICA4MzIgICAgNDgwICA0ODkgIDQ5MSAgNTIwIC1oc3luYyAtdnN5bmMKKyAgICAjIDY0MHg0ODAgQCA3NUh6IChWRVNBKSBoc3luYzogMzcuNWtIegorICAgIE1vZGVMaW5lICI2NDB4NDgwIiAgICAzMS41ICA2NDAgIDY1NiAgNzIwICA4NDAgICAgNDgwICA0ODEgIDQ4NCAgNTAwIC1oc3luYyAtdnN5bmMKKyAgICAjIDY0MHg0ODAgQCA4NUh6IChWRVNBKSBoc3luYzogNDMuM2tIegorICAgIE1vZGVMaW5lICI2NDB4NDgwIiAgICAzNi4wICA2NDAgIDY5NiAgNzUyICA4MzIgICAgNDgwICA0ODEgIDQ4NCAgNTA5IC1oc3luYyAtdnN5bmMKK0VuZFNlY3Rpb24KKworU2VjdGlvbiAiU2NyZWVuIgorICAgIElkZW50aWZpZXIgICAgIkRlZmF1bHQgU2NyZWVuIgorICAgIERldmljZSAgICAgICAgIkdyYXBoaWNzIENvbnRyb2xsZXIiCisgICAgTW9uaXRvciAgICAgICAgIkdlbmVyaWMgTW9uaXRvciIKKyAgICBTdWJTZWN0aW9uICJEaXNwbGF5IgorICAgICAgICBNb2RlcyAgICAgIjY0MHg0ODAiCisgICAgRW5kU3ViU2VjdGlvbgorRW5kU2VjdGlvbgorCitTZWN0aW9uICJTZXJ2ZXJMYXlvdXQiCisgICAgSWRlbnRpZmllciAgICAiRGVmYXVsdCBMYXlvdXQiCisgICAgU2NyZWVuICAgICAgICAiRGVmYXVsdCBTY3JlZW4iCisgICAgSW5wdXREZXZpY2UgICAgIkdlbmVyaWMgS2V5Ym9hcmQiCisgICAgIyBJbnB1dERldmljZSAgICAiQ29uZmlndXJlZCBNb3VzZSIKKyAgICBJbnB1dERldmljZSAgICAiUUVNVSBUYWJsZXQiCisgICAgT3B0aW9uICAgICAgICAgIkFsbG93RW1wdHlJbnB1dCIgIm5vIgorRW5kU2VjdGlvbgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhmODYtY29uZmlnL3FlbXVtaXBzL3hvcmcuY29uZiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14Zjg2LWNvbmZpZy9xZW11bWlwcy94b3JnLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTZjOGI1MQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14Zjg2LWNvbmZpZy9xZW11bWlwcy94b3JnLmNvbmYKQEAgLTAsMCArMSw3MCBAQAorCitTZWN0aW9uICJGaWxlcyIKK0VuZFNlY3Rpb24KKworU2VjdGlvbiAiSW5wdXREZXZpY2UiCisgICAgSWRlbnRpZmllciAgICAiR2VuZXJpYyBLZXlib2FyZCIKKyAgICBEcml2ZXIgICAgICAgICJldmRldiIKKyAgICBPcHRpb24gICAgICAgICJDb3JlS2V5Ym9hcmQiCisgICAgT3B0aW9uICAgICAgICAiRGV2aWNlIiAgICAgICIvZGV2L2lucHV0L2J5LXBhdGgvcGxhdGZvcm0taTgwNDItc2VyaW8tMC1ldmVudC1rYmQiCisgICAgT3B0aW9uICAgICAgICAiWGtiUnVsZXMiICAgICJ4b3JnIgorICAgIE9wdGlvbiAgICAgICAgIlhrYk1vZGVsIiAgICAiZXZkZXYiCisgICAgT3B0aW9uICAgICAgICAiWGtiTGF5b3V0IiAgICAidXMiCitFbmRTZWN0aW9uCisKK1NlY3Rpb24gIklucHV0RGV2aWNlIgorICAgIElkZW50aWZpZXIgICAgIkNvbmZpZ3VyZWQgTW91c2UiCisgICAgRHJpdmVyICAgICAgICAibW91c2UiCisgICAgT3B0aW9uICAgICAgICAiQ29yZVBvaW50ZXIiCisgICAgT3B0aW9uICAgICAgICAiRGV2aWNlIiAgICAgICAgIi9kZXYvaW5wdXQvbWljZSIKKyAgICBPcHRpb24gICAgICAgICJQcm90b2NvbCIgICAgICAgICJJbVBTLzIiCisgICAgT3B0aW9uICAgICAgICAiWkF4aXNNYXBwaW5nIiAgICAgICAgIjQgNSIKKyAgICBPcHRpb24gICAgICAgICJFbXVsYXRlM0J1dHRvbnMiICAgICJ0cnVlIgorRW5kU2VjdGlvbgorCitTZWN0aW9uICJJbnB1dERldmljZSIKKyAgICBJZGVudGlmaWVyICAgICJRZW11IFRhYmxldCIKKyAgICBEcml2ZXIgICAgICAgICJldmRldiIKKyAgICBPcHRpb24gICAgICAgICJDb3JlUG9pbnRlciIKKyAgICBPcHRpb24gICAgICAgICJEZXZpY2UiICAgICAgICAiL2Rldi9pbnB1dC90b3VjaHNjcmVlbjAiCisgICAgT3B0aW9uICAgICAgICAiVVNCIiAgICAgICAgICAgIm9uIgorRW5kU2VjdGlvbgorCitTZWN0aW9uICJEZXZpY2UiCisgICAgSWRlbnRpZmllciAgICAiR3JhcGhpY3MgQ29udHJvbGxlciIKKyAgICBEcml2ZXIgICAgICAgICJmYmRldiIKK0VuZFNlY3Rpb24KKworU2VjdGlvbiAiTW9uaXRvciIKKyAgICBJZGVudGlmaWVyICAgICJHZW5lcmljIE1vbml0b3IiCisgICAgT3B0aW9uICAgICAgICAiRFBNUyIKKyAgICAjIDEwMjR4NjAwIDU5Ljg1IEh6IChDVlQpIGhzeW5jOiAzNy4zNSBrSHo7IHBjbGs6IDQ5LjAwIE1IegorICAgIE1vZGVsaW5lICIxMDI0eDYwMF82MC4wMCIgICA0OS4wMCAgMTAyNCAxMDcyIDExNjggMTMxMiAgNjAwIDYwMyA2MTMgNjI0IC1oc3luYyArdnN5bmMKKyAgICAjIDY0MHg0ODAgQCA2MEh6IChJbmR1c3RyeSBzdGFuZGFyZCkgaHN5bmM6IDMxLjVrSHoKKyAgICBNb2RlTGluZSAiNjQweDQ4MCIgICAgMjUuMiAgNjQwICA2NTYgIDc1MiAgODAwICAgIDQ4MCAgNDkwICA0OTIgIDUyNSAtaHN5bmMgLXZzeW5jCisgICAgIyA2NDB4NDgwIEAgNzJIeiAoVkVTQSkgaHN5bmM6IDM3LjlrSHoKKyAgICBNb2RlTGluZSAiNjQweDQ4MCIgICAgMzEuNSAgNjQwICA2NjQgIDcwNCAgODMyICAgIDQ4MCAgNDg5ICA0OTEgIDUyMCAtaHN5bmMgLXZzeW5jCisgICAgIyA2NDB4NDgwIEAgNzVIeiAoVkVTQSkgaHN5bmM6IDM3LjVrSHoKKyAgICBNb2RlTGluZSAiNjQweDQ4MCIgICAgMzEuNSAgNjQwICA2NTYgIDcyMCAgODQwICAgIDQ4MCAgNDgxICA0ODQgIDUwMCAtaHN5bmMgLXZzeW5jCisgICAgIyA2NDB4NDgwIEAgODVIeiAoVkVTQSkgaHN5bmM6IDQzLjNrSHoKKyAgICBNb2RlTGluZSAiNjQweDQ4MCIgICAgMzYuMCAgNjQwICA2OTYgIDc1MiAgODMyICAgIDQ4MCAgNDgxICA0ODQgIDUwOSAtaHN5bmMgLXZzeW5jCitFbmRTZWN0aW9uCisKK1NlY3Rpb24gIlNjcmVlbiIKKyAgICBJZGVudGlmaWVyICAgICJEZWZhdWx0IFNjcmVlbiIKKyAgICBEZXZpY2UgICAgICAgICJHcmFwaGljcyBDb250cm9sbGVyIgorICAgIE1vbml0b3IgICAgICAgICJHZW5lcmljIE1vbml0b3IiCisgICAgRGVmYXVsdERlcHRoICAxNgorICAgIFN1YlNlY3Rpb24gIkRpc3BsYXkiCisgICAgICAgIE1vZGVzICAgICAiNjQweDQ4MCIKKyAgICBFbmRTdWJTZWN0aW9uCitFbmRTZWN0aW9uCisKK1NlY3Rpb24gIlNlcnZlckxheW91dCIKKyAgICBJZGVudGlmaWVyICAgICJEZWZhdWx0IExheW91dCIKKyAgICBTY3JlZW4gICAgICAgICJEZWZhdWx0IFNjcmVlbiIKKyAgICBJbnB1dERldmljZSAgICAiR2VuZXJpYyBLZXlib2FyZCIKKyAgICAjIElucHV0RGV2aWNlICAgICJDb25maWd1cmVkIE1vdXNlIgorICAgIElucHV0RGV2aWNlICAgICJRRU1VIFRhYmxldCIKKyAgICBPcHRpb24gICAgICAgICAiQWxsb3dFbXB0eUlucHV0IiAibm8iCitFbmRTZWN0aW9uCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteGY4Ni1jb25maWcvcWVtdW1pcHM2NC94b3JnLmNvbmYgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteGY4Ni1jb25maWcvcWVtdW1pcHM2NC94b3JnLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjI5YWUyMQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14Zjg2LWNvbmZpZy9xZW11bWlwczY0L3hvcmcuY29uZgpAQCAtMCwwICsxLDY5IEBACisKK1NlY3Rpb24gIkZpbGVzIgorRW5kU2VjdGlvbgorCitTZWN0aW9uICJJbnB1dERldmljZSIKKyAgICBJZGVudGlmaWVyICAgICJHZW5lcmljIEtleWJvYXJkIgorICAgIERyaXZlciAgICAgICAgImV2ZGV2IgorICAgIE9wdGlvbiAgICAgICAgIkNvcmVLZXlib2FyZCIKKyAgICBPcHRpb24gICAgICAgICJEZXZpY2UiICAgICAgIi9kZXYvaW5wdXQvYnktcGF0aC9wbGF0Zm9ybS1pODA0Mi1zZXJpby0wLWV2ZW50LWtiZCIKKyAgICBPcHRpb24gICAgICAgICJYa2JSdWxlcyIgICAgInhvcmciCisgICAgT3B0aW9uICAgICAgICAiWGtiTW9kZWwiICAgICJldmRldiIKKyAgICBPcHRpb24gICAgICAgICJYa2JMYXlvdXQiICAgICJ1cyIKK0VuZFNlY3Rpb24KKworU2VjdGlvbiAiSW5wdXREZXZpY2UiCisgICAgSWRlbnRpZmllciAgICAiQ29uZmlndXJlZCBNb3VzZSIKKyAgICBEcml2ZXIgICAgICAgICJtb3VzZSIKKyAgICBPcHRpb24gICAgICAgICJDb3JlUG9pbnRlciIKKyAgICBPcHRpb24gICAgICAgICJEZXZpY2UiICAgICAgICAiL2Rldi9pbnB1dC9taWNlIgorICAgIE9wdGlvbiAgICAgICAgIlByb3RvY29sIiAgICAgICAgIkltUFMvMiIKKyAgICBPcHRpb24gICAgICAgICJaQXhpc01hcHBpbmciICAgICAgICAiNCA1IgorICAgIE9wdGlvbiAgICAgICAgIkVtdWxhdGUzQnV0dG9ucyIgICAgInRydWUiCitFbmRTZWN0aW9uCisKK1NlY3Rpb24gIklucHV0RGV2aWNlIgorICAgIElkZW50aWZpZXIgICAgIlFlbXUgVGFibGV0IgorICAgIERyaXZlciAgICAgICAgImV2ZGV2IgorICAgIE9wdGlvbiAgICAgICAgIkNvcmVQb2ludGVyIgorICAgIE9wdGlvbiAgICAgICAgIkRldmljZSIgICAgICAgICIvZGV2L2lucHV0L3RvdWNoc2NyZWVuMCIKKyAgICBPcHRpb24gICAgICAgICJVU0IiICAgICAgICAgICAib24iCitFbmRTZWN0aW9uCisKK1NlY3Rpb24gIkRldmljZSIKKyAgICBJZGVudGlmaWVyICAgICJHcmFwaGljcyBDb250cm9sbGVyIgorICAgIERyaXZlciAgICAgICAgImZiZGV2IgorRW5kU2VjdGlvbgorCitTZWN0aW9uICJNb25pdG9yIgorICAgIElkZW50aWZpZXIgICAgIkdlbmVyaWMgTW9uaXRvciIKKyAgICBPcHRpb24gICAgICAgICJEUE1TIgorICAgICMgMTAyNHg2MDAgNTkuODUgSHogKENWVCkgaHN5bmM6IDM3LjM1IGtIejsgcGNsazogNDkuMDAgTUh6CisgICAgTW9kZWxpbmUgIjEwMjR4NjAwXzYwLjAwIiAgIDQ5LjAwICAxMDI0IDEwNzIgMTE2OCAxMzEyICA2MDAgNjAzIDYxMyA2MjQgLWhzeW5jICt2c3luYworICAgICMgNjQweDQ4MCBAIDYwSHogKEluZHVzdHJ5IHN0YW5kYXJkKSBoc3luYzogMzEuNWtIegorICAgIE1vZGVMaW5lICI2NDB4NDgwIiAgICAyNS4yICA2NDAgIDY1NiAgNzUyICA4MDAgICAgNDgwICA0OTAgIDQ5MiAgNTI1IC1oc3luYyAtdnN5bmMKKyAgICAjIDY0MHg0ODAgQCA3Mkh6IChWRVNBKSBoc3luYzogMzcuOWtIegorICAgIE1vZGVMaW5lICI2NDB4NDgwIiAgICAzMS41ICA2NDAgIDY2NCAgNzA0ICA4MzIgICAgNDgwICA0ODkgIDQ5MSAgNTIwIC1oc3luYyAtdnN5bmMKKyAgICAjIDY0MHg0ODAgQCA3NUh6IChWRVNBKSBoc3luYzogMzcuNWtIegorICAgIE1vZGVMaW5lICI2NDB4NDgwIiAgICAzMS41ICA2NDAgIDY1NiAgNzIwICA4NDAgICAgNDgwICA0ODEgIDQ4NCAgNTAwIC1oc3luYyAtdnN5bmMKKyAgICAjIDY0MHg0ODAgQCA4NUh6IChWRVNBKSBoc3luYzogNDMuM2tIegorICAgIE1vZGVMaW5lICI2NDB4NDgwIiAgICAzNi4wICA2NDAgIDY5NiAgNzUyICA4MzIgICAgNDgwICA0ODEgIDQ4NCAgNTA5IC1oc3luYyAtdnN5bmMKK0VuZFNlY3Rpb24KKworU2VjdGlvbiAiU2NyZWVuIgorICAgIElkZW50aWZpZXIgICAgIkRlZmF1bHQgU2NyZWVuIgorICAgIERldmljZSAgICAgICAgIkdyYXBoaWNzIENvbnRyb2xsZXIiCisgICAgTW9uaXRvciAgICAgICAgIkdlbmVyaWMgTW9uaXRvciIKKyAgICBTdWJTZWN0aW9uICJEaXNwbGF5IgorICAgICAgICBNb2RlcyAgICAgIjY0MHg0ODAiCisgICAgRW5kU3ViU2VjdGlvbgorRW5kU2VjdGlvbgorCitTZWN0aW9uICJTZXJ2ZXJMYXlvdXQiCisgICAgSWRlbnRpZmllciAgICAiRGVmYXVsdCBMYXlvdXQiCisgICAgU2NyZWVuICAgICAgICAiRGVmYXVsdCBTY3JlZW4iCisgICAgSW5wdXREZXZpY2UgICAgIkdlbmVyaWMgS2V5Ym9hcmQiCisgICAgIyBJbnB1dERldmljZSAgICAiQ29uZmlndXJlZCBNb3VzZSIKKyAgICBJbnB1dERldmljZSAgICAiUUVNVSBUYWJsZXQiCisgICAgT3B0aW9uICAgICAgICAgIkFsbG93RW1wdHlJbnB1dCIgIm5vIgorRW5kU2VjdGlvbgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhmODYtY29uZmlnL3FlbXVwcGMveG9yZy5jb25mIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhmODYtY29uZmlnL3FlbXVwcGMveG9yZy5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyOWFlMjEKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteGY4Ni1jb25maWcvcWVtdXBwYy94b3JnLmNvbmYKQEAgLTAsMCArMSw2OSBAQAorCitTZWN0aW9uICJGaWxlcyIKK0VuZFNlY3Rpb24KKworU2VjdGlvbiAiSW5wdXREZXZpY2UiCisgICAgSWRlbnRpZmllciAgICAiR2VuZXJpYyBLZXlib2FyZCIKKyAgICBEcml2ZXIgICAgICAgICJldmRldiIKKyAgICBPcHRpb24gICAgICAgICJDb3JlS2V5Ym9hcmQiCisgICAgT3B0aW9uICAgICAgICAiRGV2aWNlIiAgICAgICIvZGV2L2lucHV0L2J5LXBhdGgvcGxhdGZvcm0taTgwNDItc2VyaW8tMC1ldmVudC1rYmQiCisgICAgT3B0aW9uICAgICAgICAiWGtiUnVsZXMiICAgICJ4b3JnIgorICAgIE9wdGlvbiAgICAgICAgIlhrYk1vZGVsIiAgICAiZXZkZXYiCisgICAgT3B0aW9uICAgICAgICAiWGtiTGF5b3V0IiAgICAidXMiCitFbmRTZWN0aW9uCisKK1NlY3Rpb24gIklucHV0RGV2aWNlIgorICAgIElkZW50aWZpZXIgICAgIkNvbmZpZ3VyZWQgTW91c2UiCisgICAgRHJpdmVyICAgICAgICAibW91c2UiCisgICAgT3B0aW9uICAgICAgICAiQ29yZVBvaW50ZXIiCisgICAgT3B0aW9uICAgICAgICAiRGV2aWNlIiAgICAgICAgIi9kZXYvaW5wdXQvbWljZSIKKyAgICBPcHRpb24gICAgICAgICJQcm90b2NvbCIgICAgICAgICJJbVBTLzIiCisgICAgT3B0aW9uICAgICAgICAiWkF4aXNNYXBwaW5nIiAgICAgICAgIjQgNSIKKyAgICBPcHRpb24gICAgICAgICJFbXVsYXRlM0J1dHRvbnMiICAgICJ0cnVlIgorRW5kU2VjdGlvbgorCitTZWN0aW9uICJJbnB1dERldmljZSIKKyAgICBJZGVudGlmaWVyICAgICJRZW11IFRhYmxldCIKKyAgICBEcml2ZXIgICAgICAgICJldmRldiIKKyAgICBPcHRpb24gICAgICAgICJDb3JlUG9pbnRlciIKKyAgICBPcHRpb24gICAgICAgICJEZXZpY2UiICAgICAgICAiL2Rldi9pbnB1dC90b3VjaHNjcmVlbjAiCisgICAgT3B0aW9uICAgICAgICAiVVNCIiAgICAgICAgICAgIm9uIgorRW5kU2VjdGlvbgorCitTZWN0aW9uICJEZXZpY2UiCisgICAgSWRlbnRpZmllciAgICAiR3JhcGhpY3MgQ29udHJvbGxlciIKKyAgICBEcml2ZXIgICAgICAgICJmYmRldiIKK0VuZFNlY3Rpb24KKworU2VjdGlvbiAiTW9uaXRvciIKKyAgICBJZGVudGlmaWVyICAgICJHZW5lcmljIE1vbml0b3IiCisgICAgT3B0aW9uICAgICAgICAiRFBNUyIKKyAgICAjIDEwMjR4NjAwIDU5Ljg1IEh6IChDVlQpIGhzeW5jOiAzNy4zNSBrSHo7IHBjbGs6IDQ5LjAwIE1IegorICAgIE1vZGVsaW5lICIxMDI0eDYwMF82MC4wMCIgICA0OS4wMCAgMTAyNCAxMDcyIDExNjggMTMxMiAgNjAwIDYwMyA2MTMgNjI0IC1oc3luYyArdnN5bmMKKyAgICAjIDY0MHg0ODAgQCA2MEh6IChJbmR1c3RyeSBzdGFuZGFyZCkgaHN5bmM6IDMxLjVrSHoKKyAgICBNb2RlTGluZSAiNjQweDQ4MCIgICAgMjUuMiAgNjQwICA2NTYgIDc1MiAgODAwICAgIDQ4MCAgNDkwICA0OTIgIDUyNSAtaHN5bmMgLXZzeW5jCisgICAgIyA2NDB4NDgwIEAgNzJIeiAoVkVTQSkgaHN5bmM6IDM3LjlrSHoKKyAgICBNb2RlTGluZSAiNjQweDQ4MCIgICAgMzEuNSAgNjQwICA2NjQgIDcwNCAgODMyICAgIDQ4MCAgNDg5ICA0OTEgIDUyMCAtaHN5bmMgLXZzeW5jCisgICAgIyA2NDB4NDgwIEAgNzVIeiAoVkVTQSkgaHN5bmM6IDM3LjVrSHoKKyAgICBNb2RlTGluZSAiNjQweDQ4MCIgICAgMzEuNSAgNjQwICA2NTYgIDcyMCAgODQwICAgIDQ4MCAgNDgxICA0ODQgIDUwMCAtaHN5bmMgLXZzeW5jCisgICAgIyA2NDB4NDgwIEAgODVIeiAoVkVTQSkgaHN5bmM6IDQzLjNrSHoKKyAgICBNb2RlTGluZSAiNjQweDQ4MCIgICAgMzYuMCAgNjQwICA2OTYgIDc1MiAgODMyICAgIDQ4MCAgNDgxICA0ODQgIDUwOSAtaHN5bmMgLXZzeW5jCitFbmRTZWN0aW9uCisKK1NlY3Rpb24gIlNjcmVlbiIKKyAgICBJZGVudGlmaWVyICAgICJEZWZhdWx0IFNjcmVlbiIKKyAgICBEZXZpY2UgICAgICAgICJHcmFwaGljcyBDb250cm9sbGVyIgorICAgIE1vbml0b3IgICAgICAgICJHZW5lcmljIE1vbml0b3IiCisgICAgU3ViU2VjdGlvbiAiRGlzcGxheSIKKyAgICAgICAgTW9kZXMgICAgICI2NDB4NDgwIgorICAgIEVuZFN1YlNlY3Rpb24KK0VuZFNlY3Rpb24KKworU2VjdGlvbiAiU2VydmVyTGF5b3V0IgorICAgIElkZW50aWZpZXIgICAgIkRlZmF1bHQgTGF5b3V0IgorICAgIFNjcmVlbiAgICAgICAgIkRlZmF1bHQgU2NyZWVuIgorICAgIElucHV0RGV2aWNlICAgICJHZW5lcmljIEtleWJvYXJkIgorICAgICMgSW5wdXREZXZpY2UgICAgIkNvbmZpZ3VyZWQgTW91c2UiCisgICAgSW5wdXREZXZpY2UgICAgIlFFTVUgVGFibGV0IgorICAgIE9wdGlvbiAgICAgICAgICJBbGxvd0VtcHR5SW5wdXQiICJubyIKK0VuZFNlY3Rpb24KZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14Zjg2LWNvbmZpZy9xZW11c2g0L3hvcmcuY29uZiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14Zjg2LWNvbmZpZy9xZW11c2g0L3hvcmcuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MjlhZTIxCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhmODYtY29uZmlnL3FlbXVzaDQveG9yZy5jb25mCkBAIC0wLDAgKzEsNjkgQEAKKworU2VjdGlvbiAiRmlsZXMiCitFbmRTZWN0aW9uCisKK1NlY3Rpb24gIklucHV0RGV2aWNlIgorICAgIElkZW50aWZpZXIgICAgIkdlbmVyaWMgS2V5Ym9hcmQiCisgICAgRHJpdmVyICAgICAgICAiZXZkZXYiCisgICAgT3B0aW9uICAgICAgICAiQ29yZUtleWJvYXJkIgorICAgIE9wdGlvbiAgICAgICAgIkRldmljZSIgICAgICAiL2Rldi9pbnB1dC9ieS1wYXRoL3BsYXRmb3JtLWk4MDQyLXNlcmlvLTAtZXZlbnQta2JkIgorICAgIE9wdGlvbiAgICAgICAgIlhrYlJ1bGVzIiAgICAieG9yZyIKKyAgICBPcHRpb24gICAgICAgICJYa2JNb2RlbCIgICAgImV2ZGV2IgorICAgIE9wdGlvbiAgICAgICAgIlhrYkxheW91dCIgICAgInVzIgorRW5kU2VjdGlvbgorCitTZWN0aW9uICJJbnB1dERldmljZSIKKyAgICBJZGVudGlmaWVyICAgICJDb25maWd1cmVkIE1vdXNlIgorICAgIERyaXZlciAgICAgICAgIm1vdXNlIgorICAgIE9wdGlvbiAgICAgICAgIkNvcmVQb2ludGVyIgorICAgIE9wdGlvbiAgICAgICAgIkRldmljZSIgICAgICAgICIvZGV2L2lucHV0L21pY2UiCisgICAgT3B0aW9uICAgICAgICAiUHJvdG9jb2wiICAgICAgICAiSW1QUy8yIgorICAgIE9wdGlvbiAgICAgICAgIlpBeGlzTWFwcGluZyIgICAgICAgICI0IDUiCisgICAgT3B0aW9uICAgICAgICAiRW11bGF0ZTNCdXR0b25zIiAgICAidHJ1ZSIKK0VuZFNlY3Rpb24KKworU2VjdGlvbiAiSW5wdXREZXZpY2UiCisgICAgSWRlbnRpZmllciAgICAiUWVtdSBUYWJsZXQiCisgICAgRHJpdmVyICAgICAgICAiZXZkZXYiCisgICAgT3B0aW9uICAgICAgICAiQ29yZVBvaW50ZXIiCisgICAgT3B0aW9uICAgICAgICAiRGV2aWNlIiAgICAgICAgIi9kZXYvaW5wdXQvdG91Y2hzY3JlZW4wIgorICAgIE9wdGlvbiAgICAgICAgIlVTQiIgICAgICAgICAgICJvbiIKK0VuZFNlY3Rpb24KKworU2VjdGlvbiAiRGV2aWNlIgorICAgIElkZW50aWZpZXIgICAgIkdyYXBoaWNzIENvbnRyb2xsZXIiCisgICAgRHJpdmVyICAgICAgICAiZmJkZXYiCitFbmRTZWN0aW9uCisKK1NlY3Rpb24gIk1vbml0b3IiCisgICAgSWRlbnRpZmllciAgICAiR2VuZXJpYyBNb25pdG9yIgorICAgIE9wdGlvbiAgICAgICAgIkRQTVMiCisgICAgIyAxMDI0eDYwMCA1OS44NSBIeiAoQ1ZUKSBoc3luYzogMzcuMzUga0h6OyBwY2xrOiA0OS4wMCBNSHoKKyAgICBNb2RlbGluZSAiMTAyNHg2MDBfNjAuMDAiICAgNDkuMDAgIDEwMjQgMTA3MiAxMTY4IDEzMTIgIDYwMCA2MDMgNjEzIDYyNCAtaHN5bmMgK3ZzeW5jCisgICAgIyA2NDB4NDgwIEAgNjBIeiAoSW5kdXN0cnkgc3RhbmRhcmQpIGhzeW5jOiAzMS41a0h6CisgICAgTW9kZUxpbmUgIjY0MHg0ODAiICAgIDI1LjIgIDY0MCAgNjU2ICA3NTIgIDgwMCAgICA0ODAgIDQ5MCAgNDkyICA1MjUgLWhzeW5jIC12c3luYworICAgICMgNjQweDQ4MCBAIDcySHogKFZFU0EpIGhzeW5jOiAzNy45a0h6CisgICAgTW9kZUxpbmUgIjY0MHg0ODAiICAgIDMxLjUgIDY0MCAgNjY0ICA3MDQgIDgzMiAgICA0ODAgIDQ4OSAgNDkxICA1MjAgLWhzeW5jIC12c3luYworICAgICMgNjQweDQ4MCBAIDc1SHogKFZFU0EpIGhzeW5jOiAzNy41a0h6CisgICAgTW9kZUxpbmUgIjY0MHg0ODAiICAgIDMxLjUgIDY0MCAgNjU2ICA3MjAgIDg0MCAgICA0ODAgIDQ4MSAgNDg0ICA1MDAgLWhzeW5jIC12c3luYworICAgICMgNjQweDQ4MCBAIDg1SHogKFZFU0EpIGhzeW5jOiA0My4za0h6CisgICAgTW9kZUxpbmUgIjY0MHg0ODAiICAgIDM2LjAgIDY0MCAgNjk2ICA3NTIgIDgzMiAgICA0ODAgIDQ4MSAgNDg0ICA1MDkgLWhzeW5jIC12c3luYworRW5kU2VjdGlvbgorCitTZWN0aW9uICJTY3JlZW4iCisgICAgSWRlbnRpZmllciAgICAiRGVmYXVsdCBTY3JlZW4iCisgICAgRGV2aWNlICAgICAgICAiR3JhcGhpY3MgQ29udHJvbGxlciIKKyAgICBNb25pdG9yICAgICAgICAiR2VuZXJpYyBNb25pdG9yIgorICAgIFN1YlNlY3Rpb24gIkRpc3BsYXkiCisgICAgICAgIE1vZGVzICAgICAiNjQweDQ4MCIKKyAgICBFbmRTdWJTZWN0aW9uCitFbmRTZWN0aW9uCisKK1NlY3Rpb24gIlNlcnZlckxheW91dCIKKyAgICBJZGVudGlmaWVyICAgICJEZWZhdWx0IExheW91dCIKKyAgICBTY3JlZW4gICAgICAgICJEZWZhdWx0IFNjcmVlbiIKKyAgICBJbnB1dERldmljZSAgICAiR2VuZXJpYyBLZXlib2FyZCIKKyAgICAjIElucHV0RGV2aWNlICAgICJDb25maWd1cmVkIE1vdXNlIgorICAgIElucHV0RGV2aWNlICAgICJRRU1VIFRhYmxldCIKKyAgICBPcHRpb24gICAgICAgICAiQWxsb3dFbXB0eUlucHV0IiAibm8iCitFbmRTZWN0aW9uCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteGY4Ni1jb25maWcvcWVtdXg4Ni02NC94b3JnLmNvbmYgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteGY4Ni1jb25maWcvcWVtdXg4Ni02NC94b3JnLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmJkYTllYQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14Zjg2LWNvbmZpZy9xZW11eDg2LTY0L3hvcmcuY29uZgpAQCAtMCwwICsxLDY0IEBACisKK1NlY3Rpb24gIkZpbGVzIgorRW5kU2VjdGlvbgorCitTZWN0aW9uICJJbnB1dERldmljZSIKKyAgICBJZGVudGlmaWVyICAgICJHZW5lcmljIEtleWJvYXJkIgorICAgIERyaXZlciAgICAgICAgImV2ZGV2IgorICAgIE9wdGlvbiAgICAgICAgIkNvcmVLZXlib2FyZCIKKyAgICBPcHRpb24gICAgICAgICJEZXZpY2UiICAgICAgIi9kZXYvaW5wdXQvYnktcGF0aC9wbGF0Zm9ybS1pODA0Mi1zZXJpby0wLWV2ZW50LWtiZCIKKyAgICBPcHRpb24gICAgICAgICJYa2JSdWxlcyIgICAgInhvcmciCisgICAgT3B0aW9uICAgICAgICAiWGtiTW9kZWwiICAgICJldmRldiIKKyAgICBPcHRpb24gICAgICAgICJYa2JMYXlvdXQiICAgICJ1cyIKK0VuZFNlY3Rpb24KKworU2VjdGlvbiAiSW5wdXREZXZpY2UiCisgICAgSWRlbnRpZmllciAgICAiQ29uZmlndXJlZCBNb3VzZSIKKyAgICBEcml2ZXIgICAgICAgICJ2bW1vdXNlIgorICAgIE9wdGlvbiAgICAgICAgIkNvcmVQb2ludGVyIgorICAgIE9wdGlvbiAgICAgICAgIkRldmljZSIgICAgICAgICIvZGV2L2lucHV0L21pY2UiCisgICAgT3B0aW9uICAgICAgICAiUHJvdG9jb2wiICAgICAgICAiSW1QUy8yIgorICAgIE9wdGlvbiAgICAgICAgIlpBeGlzTWFwcGluZyIgICAgICAgICI0IDUiCisgICAgT3B0aW9uICAgICAgICAiRW11bGF0ZTNCdXR0b25zIiAgICAidHJ1ZSIKK0VuZFNlY3Rpb24KKworU2VjdGlvbiAiSW5wdXREZXZpY2UiCisgICAgSWRlbnRpZmllciAgICAiUWVtdSBUYWJsZXQiCisgICAgRHJpdmVyICAgICAgICAiZXZkZXYiCisgICAgT3B0aW9uICAgICAgICAiQ29yZVBvaW50ZXIiCisgICAgT3B0aW9uICAgICAgICAiRGV2aWNlIiAgICAgICAgIi9kZXYvaW5wdXQvdG91Y2hzY3JlZW4wIgorICAgIE9wdGlvbiAgICAgICAgIlVTQiIgICAgICAgICAgICJvbiIKK0VuZFNlY3Rpb24KKworU2VjdGlvbiAiTW9uaXRvciIKKyAgICBJZGVudGlmaWVyICAgICJHZW5lcmljIE1vbml0b3IiCisgICAgT3B0aW9uICAgICAgICAiRFBNUyIKKyAgICAjIDEwMjR4NjAwIDU5Ljg1IEh6IChDVlQpIGhzeW5jOiAzNy4zNSBrSHo7IHBjbGs6IDQ5LjAwIE1IegorICAgIE1vZGVsaW5lICIxMDI0eDYwMF82MC4wMCIgICA0OS4wMCAgMTAyNCAxMDcyIDExNjggMTMxMiAgNjAwIDYwMyA2MTMgNjI0IC1oc3luYyArdnN5bmMKKyAgICAjIDY0MHg0ODAgQCA2MEh6IChJbmR1c3RyeSBzdGFuZGFyZCkgaHN5bmM6IDMxLjVrSHoKKyAgICBNb2RlTGluZSAiNjQweDQ4MCIgICAgMjUuMiAgNjQwICA2NTYgIDc1MiAgODAwICAgIDQ4MCAgNDkwICA0OTIgIDUyNSAtaHN5bmMgLXZzeW5jCisgICAgIyA2NDB4NDgwIEAgNzJIeiAoVkVTQSkgaHN5bmM6IDM3LjlrSHoKKyAgICBNb2RlTGluZSAiNjQweDQ4MCIgICAgMzEuNSAgNjQwICA2NjQgIDcwNCAgODMyICAgIDQ4MCAgNDg5ICA0OTEgIDUyMCAtaHN5bmMgLXZzeW5jCisgICAgIyA2NDB4NDgwIEAgNzVIeiAoVkVTQSkgaHN5bmM6IDM3LjVrSHoKKyAgICBNb2RlTGluZSAiNjQweDQ4MCIgICAgMzEuNSAgNjQwICA2NTYgIDcyMCAgODQwICAgIDQ4MCAgNDgxICA0ODQgIDUwMCAtaHN5bmMgLXZzeW5jCisgICAgIyA2NDB4NDgwIEAgODVIeiAoVkVTQSkgaHN5bmM6IDQzLjNrSHoKKyAgICBNb2RlTGluZSAiNjQweDQ4MCIgICAgMzYuMCAgNjQwICA2OTYgIDc1MiAgODMyICAgIDQ4MCAgNDgxICA0ODQgIDUwOSAtaHN5bmMgLXZzeW5jCitFbmRTZWN0aW9uCisKK1NlY3Rpb24gIlNjcmVlbiIKKyAgICBJZGVudGlmaWVyICAgICJEZWZhdWx0IFNjcmVlbiIKKyAgICBEZXZpY2UgICAgICAgICJHcmFwaGljcyBDb250cm9sbGVyIgorICAgIE1vbml0b3IgICAgICAgICJHZW5lcmljIE1vbml0b3IiCisgICAgU3ViU2VjdGlvbiAiRGlzcGxheSIKKyAgICAgICAgTW9kZXMgICAgICI2NDB4NDgwIgorICAgIEVuZFN1YlNlY3Rpb24KK0VuZFNlY3Rpb24KKworU2VjdGlvbiAiU2VydmVyTGF5b3V0IgorICAgIElkZW50aWZpZXIgICAgIkRlZmF1bHQgTGF5b3V0IgorICAgIFNjcmVlbiAgICAgICAgIkRlZmF1bHQgU2NyZWVuIgorICAgIElucHV0RGV2aWNlICAgICJHZW5lcmljIEtleWJvYXJkIgorICAgICMgSW5wdXREZXZpY2UgICAgIkNvbmZpZ3VyZWQgTW91c2UiCisgICAgSW5wdXREZXZpY2UgICAgIlFFTVUgVGFibGV0IgorICAgIE9wdGlvbiAgICAgICAgICJBbGxvd0VtcHR5SW5wdXQiICJubyIKK0VuZFNlY3Rpb24KZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14Zjg2LWNvbmZpZy9xZW11eDg2L3hvcmcuY29uZiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14Zjg2LWNvbmZpZy9xZW11eDg2L3hvcmcuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYmRhOWVhCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhmODYtY29uZmlnL3FlbXV4ODYveG9yZy5jb25mCkBAIC0wLDAgKzEsNjQgQEAKKworU2VjdGlvbiAiRmlsZXMiCitFbmRTZWN0aW9uCisKK1NlY3Rpb24gIklucHV0RGV2aWNlIgorICAgIElkZW50aWZpZXIgICAgIkdlbmVyaWMgS2V5Ym9hcmQiCisgICAgRHJpdmVyICAgICAgICAiZXZkZXYiCisgICAgT3B0aW9uICAgICAgICAiQ29yZUtleWJvYXJkIgorICAgIE9wdGlvbiAgICAgICAgIkRldmljZSIgICAgICAiL2Rldi9pbnB1dC9ieS1wYXRoL3BsYXRmb3JtLWk4MDQyLXNlcmlvLTAtZXZlbnQta2JkIgorICAgIE9wdGlvbiAgICAgICAgIlhrYlJ1bGVzIiAgICAieG9yZyIKKyAgICBPcHRpb24gICAgICAgICJYa2JNb2RlbCIgICAgImV2ZGV2IgorICAgIE9wdGlvbiAgICAgICAgIlhrYkxheW91dCIgICAgInVzIgorRW5kU2VjdGlvbgorCitTZWN0aW9uICJJbnB1dERldmljZSIKKyAgICBJZGVudGlmaWVyICAgICJDb25maWd1cmVkIE1vdXNlIgorICAgIERyaXZlciAgICAgICAgInZtbW91c2UiCisgICAgT3B0aW9uICAgICAgICAiQ29yZVBvaW50ZXIiCisgICAgT3B0aW9uICAgICAgICAiRGV2aWNlIiAgICAgICAgIi9kZXYvaW5wdXQvbWljZSIKKyAgICBPcHRpb24gICAgICAgICJQcm90b2NvbCIgICAgICAgICJJbVBTLzIiCisgICAgT3B0aW9uICAgICAgICAiWkF4aXNNYXBwaW5nIiAgICAgICAgIjQgNSIKKyAgICBPcHRpb24gICAgICAgICJFbXVsYXRlM0J1dHRvbnMiICAgICJ0cnVlIgorRW5kU2VjdGlvbgorCitTZWN0aW9uICJJbnB1dERldmljZSIKKyAgICBJZGVudGlmaWVyICAgICJRZW11IFRhYmxldCIKKyAgICBEcml2ZXIgICAgICAgICJldmRldiIKKyAgICBPcHRpb24gICAgICAgICJDb3JlUG9pbnRlciIKKyAgICBPcHRpb24gICAgICAgICJEZXZpY2UiICAgICAgICAiL2Rldi9pbnB1dC90b3VjaHNjcmVlbjAiCisgICAgT3B0aW9uICAgICAgICAiVVNCIiAgICAgICAgICAgIm9uIgorRW5kU2VjdGlvbgorCitTZWN0aW9uICJNb25pdG9yIgorICAgIElkZW50aWZpZXIgICAgIkdlbmVyaWMgTW9uaXRvciIKKyAgICBPcHRpb24gICAgICAgICJEUE1TIgorICAgICMgMTAyNHg2MDAgNTkuODUgSHogKENWVCkgaHN5bmM6IDM3LjM1IGtIejsgcGNsazogNDkuMDAgTUh6CisgICAgTW9kZWxpbmUgIjEwMjR4NjAwXzYwLjAwIiAgIDQ5LjAwICAxMDI0IDEwNzIgMTE2OCAxMzEyICA2MDAgNjAzIDYxMyA2MjQgLWhzeW5jICt2c3luYworICAgICMgNjQweDQ4MCBAIDYwSHogKEluZHVzdHJ5IHN0YW5kYXJkKSBoc3luYzogMzEuNWtIegorICAgIE1vZGVMaW5lICI2NDB4NDgwIiAgICAyNS4yICA2NDAgIDY1NiAgNzUyICA4MDAgICAgNDgwICA0OTAgIDQ5MiAgNTI1IC1oc3luYyAtdnN5bmMKKyAgICAjIDY0MHg0ODAgQCA3Mkh6IChWRVNBKSBoc3luYzogMzcuOWtIegorICAgIE1vZGVMaW5lICI2NDB4NDgwIiAgICAzMS41ICA2NDAgIDY2NCAgNzA0ICA4MzIgICAgNDgwICA0ODkgIDQ5MSAgNTIwIC1oc3luYyAtdnN5bmMKKyAgICAjIDY0MHg0ODAgQCA3NUh6IChWRVNBKSBoc3luYzogMzcuNWtIegorICAgIE1vZGVMaW5lICI2NDB4NDgwIiAgICAzMS41ICA2NDAgIDY1NiAgNzIwICA4NDAgICAgNDgwICA0ODEgIDQ4NCAgNTAwIC1oc3luYyAtdnN5bmMKKyAgICAjIDY0MHg0ODAgQCA4NUh6IChWRVNBKSBoc3luYzogNDMuM2tIegorICAgIE1vZGVMaW5lICI2NDB4NDgwIiAgICAzNi4wICA2NDAgIDY5NiAgNzUyICA4MzIgICAgNDgwICA0ODEgIDQ4NCAgNTA5IC1oc3luYyAtdnN5bmMKK0VuZFNlY3Rpb24KKworU2VjdGlvbiAiU2NyZWVuIgorICAgIElkZW50aWZpZXIgICAgIkRlZmF1bHQgU2NyZWVuIgorICAgIERldmljZSAgICAgICAgIkdyYXBoaWNzIENvbnRyb2xsZXIiCisgICAgTW9uaXRvciAgICAgICAgIkdlbmVyaWMgTW9uaXRvciIKKyAgICBTdWJTZWN0aW9uICJEaXNwbGF5IgorICAgICAgICBNb2RlcyAgICAgIjY0MHg0ODAiCisgICAgRW5kU3ViU2VjdGlvbgorRW5kU2VjdGlvbgorCitTZWN0aW9uICJTZXJ2ZXJMYXlvdXQiCisgICAgSWRlbnRpZmllciAgICAiRGVmYXVsdCBMYXlvdXQiCisgICAgU2NyZWVuICAgICAgICAiRGVmYXVsdCBTY3JlZW4iCisgICAgSW5wdXREZXZpY2UgICAgIkdlbmVyaWMgS2V5Ym9hcmQiCisgICAgIyBJbnB1dERldmljZSAgICAiQ29uZmlndXJlZCBNb3VzZSIKKyAgICBJbnB1dERldmljZSAgICAiUUVNVSBUYWJsZXQiCisgICAgT3B0aW9uICAgICAgICAgIkFsbG93RW1wdHlJbnB1dCIgIm5vIgorRW5kU2VjdGlvbgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhmODYtY29uZmlnL3hvcmcuY29uZiBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14Zjg2LWNvbmZpZy94b3JnLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTY5ZGUyOQotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14Zjg2LWNvbmZpZy94b3JnLmNvbmYKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14Zjg2LWNvbmZpZ18wLjEuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteGY4Ni1jb25maWdfMC4xLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwN2MyMDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteGY4Ni1jb25maWdfMC4xLmJiCkBAIC0wLDAgKzEsMzEgQEAKK1NVTU1BUlkgPSAiWC5PcmcgWCBzZXJ2ZXIgY29uZmlndXJhdGlvbiBmaWxlIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy54Lm9yZyIKK1NFQ1RJT04gPSAieDExL2Jhc2UiCitMSUNFTlNFID0gIk1JVC1YIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vJHtDT1JFQkFTRX0vbWV0YS9DT1BZSU5HLk1JVDttZDU9M2RhOWNmYmNiNzg4YzgwYTAzODQzNjFiNGRlMjA0MjAiCitQUiA9ICJyMzMiCisKK1NSQ19VUkkgPSAiZmlsZTovL3hvcmcuY29uZiIKKworU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIlwKKyAgICAgICAgICBmaWxlOi8vMTAtcHJlbG9hZC1tb2R1bGVzLmNvbmYgXAorIgorCitTID0gIiR7V09SS0RJUn0iCisKK0NPTkZGSUxFU18ke1BOfSA9ICIke3N5c2NvbmZkaXJ9L1gxMS94b3JnLmNvbmYiCitDT05GRklMRVNfJHtQTn1fYXBwZW5kX2xpYmMtbXVzbCA9ICIgJHtzeXNjb25mZGlyfS9YMTEveG9yZy5jb25mLmQvMTAtcHJlbG9hZC1tb2R1bGVzLmNvbmYiCisKK1BBQ0tBR0VfQVJDSCA9ICIke01BQ0hJTkVfQVJDSH0iCitBTExPV19FTVBUWV8ke1BOfSA9ICIxIgorCitkb19pbnN0YWxsICgpIHsKKwlpZiB0ZXN0IC1zICR7V09SS0RJUn0veG9yZy5jb25mOyB0aGVuCisJCWluc3RhbGwgLWQgJHtEfS8ke3N5c2NvbmZkaXJ9L1gxMQorCQlpbnN0YWxsIC1tIDA2NDQgJHtXT1JLRElSfS94b3JnLmNvbmYgJHtEfS8ke3N5c2NvbmZkaXJ9L1gxMS8KKwlmaQorfQorCitkb19pbnN0YWxsX2FwcGVuZF9saWJjLW11c2wgKCkgeworCWluc3RhbGwgLURtIDA2NDQgJHtXT1JLRElSfS8xMC1wcmVsb2FkLW1vZHVsZXMuY29uZiAke0R9LyR7c3lzY29uZmRpcn0vWDExL3hvcmcuY29uZi5kLzEwLXByZWxvYWQtbW9kdWxlcy5jb25mCit9CmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteG9yZy5pbmMgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteG9yZy5pbmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2MxYzAyYgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnLmluYwpAQCAtMCwwICsxLDE3MCBAQAorU1VNTUFSWSA9ICJUaGUgWC5PcmcgWCBzZXJ2ZXIiCitIT01FUEFHRSA9ICJodHRwOi8vd3d3Lngub3JnIgorU0VDVElPTiA9ICJ4MTEvYmFzZSIKK0xJQ0VOU0UgPSAiTUlULVgiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT01ZGY4Nzk1MGFmNTFhYzJjNTgyMjA5NDU1M2VhMTg4MCIKKworIyB4Zjg2LSotKiBwYWNrYWdlcyBkZXBlbmQgb24gYW4gWCBzZXJ2ZXIgYnVpbHQgd2l0aCB0aGUgeGZyZWU4NiBERFgKKyMgc28gd2UgaGF2ZSBhIHZpcnR1YWwgdG8gcmVwcmVzZW50IHRoYXQ6CisjIGRlcHJlY2F0ZWQsIHdlIHNob3VsZCB1c2UgdmlydHVhbC94c2VydmVyIGluc3RlYWQKK1BST1ZJREVTID0gInZpcnR1YWwveHNlcnZlci14Zjg2IgorCisjIE90aGVyIHBhY2thZ2VzIHRlbmQgdG8ganVzdCBjYXJlIHRoYXQgdGhlcmUgaXMgKmFuKiBYIHNlcnZlcjoKK1BST1ZJREVTICs9ICJ2aXJ0dWFsL3hzZXJ2ZXIiCisKK1BFID0gIjIiCitJTkNfUFIgPSAicjgiCisKK1hPUkdfUE4gPSAieG9yZy1zZXJ2ZXIiCitTUkNfVVJJID0gIiR7WE9SR19NSVJST1J9L2luZGl2aWR1YWwveHNlcnZlci8ke1hPUkdfUE59LSR7UFZ9LnRhci5iejIiCitTUkNfVVJJICs9ICJmaWxlOi8vbWFjcm9fdHdlYWsucGF0Y2giCisKK1MgPSAiJHtXT1JLRElSfS8ke1hPUkdfUE59LSR7UFZ9IgorCitpbmhlcml0IGF1dG90b29scyBwa2djb25maWcKKworUFJPVE9fREVQUyA9ICJyYW5kcnByb3RvIHJlbmRlcnByb3RvIGZpeGVzcHJvdG8gZGFtYWdlcHJvdG8geGV4dHByb3RvIHhwcm90byB4Zjg2ZGdhcHJvdG8geGY4Nm1pc2Nwcm90byB4Zjg2dmlkbW9kZXByb3RvIGNvbXBvc2l0ZXByb3RvIHJlY29yZHByb3RvIHJlc291cmNlcHJvdG8gdmlkZW9wcm90byBzY3Juc2F2ZXJwcm90byAgeGluZXJhbWFwcm90byBmb250c3Byb3RvIGticHJvdG8gaW5wdXRwcm90byBiaWdyZXFzcHJvdG8geGNtaXNjcHJvdG8gcHJlc2VudHByb3RvIgorTElCX0RFUFMgPSAicGl4bWFuIGxpYnhmb250IHh0cmFucyBsaWJ4YXUgbGlieGV4dCBsaWJ4ZG1jcCBsaWJkcm0gbGlieGtiZmlsZSBsaWJwY2lhY2Nlc3Mgb3BlbnNzbCBsaWJnY3J5cHQiCitERVBFTkRTID0gIiR7UFJPVE9fREVQU30gJHtMSUJfREVQU30gZm9udC11dGlsIgorCisjIFNwbGl0IG91dCBzb21lIG1vZHVsZXMgYW5kIGV4dGVuc2lvbnMgZnJvbSB0aGUgbWFpbiBwYWNrYWdlCisjIFRoZXNlIGFyZW4ndCBuZWVkZWQgZm9yIGJhc2ljIG9wZXJhdGlvbnMgYW5kIG9ubHkgdGFrZSB1cCBzcGFjZToKKyMgIDMyLjBrICAgbGliZHJpLnNvCisjICA5MS4wayAgIGxpYmV4YS5zbworIyAgMzM2LjBrICBsaWJnbHguc28KKyMgIDEzNjBrICAgbGliaW50MTAuc28KKyMgIDE4MC4wayAgbGlid2ZiLnNvCisjICAzMjAuMGsgIGxpYnhhYS5zbworIyAgMTI0LjBrICBsaWJ4ZjFicHAuc28KKyMgIDg0LjBrICAgbGlieGY0YnBwLnNvCisjICAgICAgICAgIGxpYnJlY29yZC5zbworIyAgICAgICAgICBsaWJleHRtb2Quc28KKyMgICAgICAgICAgbGliZGJlLnNvCisKK1BBQ0tBR0VTID0rICIke1BOfS1zZWN1cml0eS1wb2xpY3kgXAorICAgICAgICAgICAgICR7UE59LXNkbCBcCisgICAgICAgICAgICAgJHtQTn0tZmJkZXYgXAorICAgICAgICAgICAgICR7UE59LXh2ZmIgXAorICAgICAgICAgICAgICR7UE59LXV0aWxzIFwKKyAgICAgICAgICAgICAke1BOfS14ZXBoeXIgXAorICAgICAgICAgICAgICR7UE59LXh3YXlsYW5kIFwKKyAgICAgICAgICAgICAke1BOfS1tdWx0aW1lZGlhLW1vZHVsZXMgXAorICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1kcmkgXAorICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1kcmkyIFwKKyAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZ2x4IFwKKyAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tcmVjb3JkIFwKKyAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZXh0bW9kIFwKKyAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZGJlIFwKKyAgICAgICAgICAgICAke1BOfS1tb2R1bGUtbGliaW50MTAgXAorICAgICAgICAgICAgICR7UE59LW1vZHVsZS1saWJhZmIgXAorICAgICAgICAgICAgICR7UE59LW1vZHVsZS1saWJ3ZmIgIFwKKyAgICAgICAgICAgICAke1BOfS1tb2R1bGUtbGlibWZiIFwKKyAgICAgICAgICAgICAke1BOfS1tb2R1bGUtbGliY2ZiIFwKKyAgICAgICAgICAgICAke1BOfS1tb2R1bGUtZXhhIFwKKyAgICAgICAgICAgICAke1BOfS1tb2R1bGUteGFhIFwKKyAgICAgICAgICAgICAke1BOfS1tb2R1bGUtbGlieGYxYnBwIFwKKyAgICAgICAgICAgICAke1BOfS1tb2R1bGUtbGlieGY0YnBwIFwKKyAgICAgICAgICAgICB4Zjg2LXZpZGVvLW1vZGVzZXR0aW5nIgorCitTVU1NQVJZX3hmODYtdmlkZW8tbW9kZXNldHRpbmcgPSAiWC5PcmcgWCBzZXJ2ZXIgLS0gbW9kZXNldHRpbmcgZGlzcGxheSBkcml2ZXIiCitJTlNBTkVfU0tJUF94Zjg2LXZpZGVvLW1vZGVzZXR0aW5nID0gInhvcmctZHJpdmVyLWFiaSIKKworUlJFQ09NTUVORFNfJHtQTn0gKz0gIiR7UE59LXNlY3VyaXR5LXBvbGljeSB4a2V5Ym9hcmQtY29uZmlnIHJnYiB4c2VydmVyLXhmODYtY29uZmlnIHhrYmNvbXAiCitSREVQRU5EU18ke1BOfS14dmZiICs9ICJ4a2V5Ym9hcmQtY29uZmlnIgorUkRFUEVORFNfJHtQTn0tbW9kdWxlLWV4YSA9ICIke1BOfSAoPSAke0VYVEVORFBLR1Z9KSIKKworRklMRVNfJHtQTn0gPSAiJHtiaW5kaXJ9ICR7bGliZGlyfS9YMTEvT3B0aW9ucyAke2xpYmRpcn0vWDExL0NhcmRzICR7bGliZGlyfS9YMTEvZ2V0Y29uZmlnICR7bGliZGlyfS9YMTEvZXRjICR7bGliZGlyfS9tb2R1bGVzLyouc28gJHtsaWJkaXJ9L3hvcmcvbW9kdWxlcy8qLnNvIC9ldGMvWDExICR7bGliZGlyfS94b3JnL3Byb3RvY29sLnR4dCAke2RhdGFkaXJ9L1gxMS94b3JnLmNvbmYuZCIKK0ZJTEVTXyR7UE59LWRldiArPSAiJHtsaWJkaXJ9L3hvcmcvbW9kdWxlcy8qLmxhICR7bGliZGlyfS94b3JnL21vZHVsZXMvKi8qLmxhIgorRklMRVNfJHtQTn0tZG9jICs9ICIke2xpYmRpcn0vWDExL2RvYyAke2RhdGFkaXJ9L1gxMS94a2IvY29tcGlsZWQvUkVBRE1FLmNvbXBpbGVkICR7bG9jYWxzdGF0ZWRpcn0vbGliL3hrYi9SRUFETUUuY29tcGlsZWQiCitGSUxFU18ke1BOfS1kYmcgKz0gIiR7bGliZGlyfS94b3JnL21vZHVsZXMvLmRlYnVnIFwKKyAgICAgICAgICAgICAgICAgICAgJHtsaWJkaXJ9L3hvcmcvbW9kdWxlcy8qLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICR7bGliZGlyfS94b3JnL21vZHVsZXMvKi8qLy5kZWJ1ZyBcCisgICAgICAgICAgICAgICAgICAgICIKK0ZJTEVTXyR7UE59LXNlY3VyaXR5LXBvbGljeSArPSAiJHtsaWJkaXJ9L3hzZXJ2ZXIvU2VjdXJpdHlQb2xpY3kiCitGSUxFU18ke1BOfS1zZGwgPSAiJHtiaW5kaXJ9L1hzZGwiCitGSUxFU18ke1BOfS1mYmRldiA9ICIke2JpbmRpcn0vWGZiZGV2IgorRklMRVNfJHtQTn0teHZmYiA9ICIke2JpbmRpcn0vWHZmYiIKK0ZJTEVTXyR7UE59LXV0aWxzID0gIiR7YmluZGlyfS9zY2FucGNpICR7YmluZGlyfS9wY2l0d2VhayAke2JpbmRpcn0vaW9wb3J0ICR7YmluZGlyfS9pbltid2xdICR7YmluZGlyfS9vdXRbYndsXSAke2JpbmRpcn0vbW1hcFtyd10gJHtiaW5kaXJ9L2d0ZiAke2JpbmRpcn0vZ2V0Y29uZmlnICR7YmluZGlyfS9nZXRjb25maWcucGwiCitGSUxFU18ke1BOfS14ZXBoeXIgPSAiJHtiaW5kaXJ9L1hlcGh5ciIKK0ZJTEVTXyR7UE59LXh3YXlsYW5kID0gIiR7YmluZGlyfS9Yd2F5bGFuZCIKK0ZJTEVTXyR7UE59LW11bHRpbWVkaWEtbW9kdWxlcyA9ICIke2xpYmRpcn0veG9yZy9tb2R1bGVzL211bHRpbWVkaWEvKmRydioiCitGSUxFU18ke1BOfS1leHRlbnNpb24tZHJpID0gIiR7bGliZGlyfS94b3JnL21vZHVsZXMvZXh0ZW5zaW9ucy9saWJkcmkuc28iCitGSUxFU18ke1BOfS1leHRlbnNpb24tZHJpMiA9ICIke2xpYmRpcn0veG9yZy9tb2R1bGVzL2V4dGVuc2lvbnMvbGliZHJpMi5zbyIKK0ZJTEVTXyR7UE59LWV4dGVuc2lvbi1nbHggPSAiJHtsaWJkaXJ9L3hvcmcvbW9kdWxlcy9leHRlbnNpb25zL2xpYmdseC5zbyIKK0ZJTEVTXyR7UE59LWV4dGVuc2lvbi1yZWNvcmQgPSAiJHtsaWJkaXJ9L3hvcmcvbW9kdWxlcy9leHRlbnNpb25zL2xpYnJlY29yZC5zbyIKK0ZJTEVTXyR7UE59LWV4dGVuc2lvbi1leHRtb2QgPSAiJHtsaWJkaXJ9L3hvcmcvbW9kdWxlcy9leHRlbnNpb25zL2xpYmV4dG1vZC5zbyIKK0ZJTEVTXyR7UE59LWV4dGVuc2lvbi1kYmUgPSAiJHtsaWJkaXJ9L3hvcmcvbW9kdWxlcy9leHRlbnNpb25zL2xpYmRiZS5zbyIKK0ZJTEVTXyR7UE59LW1vZHVsZS1saWJpbnQxMCA9ICIke2xpYmRpcn0veG9yZy9tb2R1bGVzL2xpYmludDEwLnNvIgorRklMRVNfJHtQTn0tbW9kdWxlLWxpYmFmYiA9ICIke2xpYmRpcn0veG9yZy9tb2R1bGVzL2xpYmFmYi5zbyIKK0ZJTEVTXyR7UE59LW1vZHVsZS1saWJ3ZmIgPSAiJHtsaWJkaXJ9L3hvcmcvbW9kdWxlcy9saWJ3ZmIuc28iCitGSUxFU18ke1BOfS1tb2R1bGUtbGlibWZiID0gIiR7bGliZGlyfS94b3JnL21vZHVsZXMvbGlibWZiLnNvIgorRklMRVNfJHtQTn0tbW9kdWxlLWxpYmNmYiA9ICIke2xpYmRpcn0veG9yZy9tb2R1bGVzL2xpYmNmYi5zbyIKK0ZJTEVTXyR7UE59LW1vZHVsZS1leGEgPSAiJHtsaWJkaXJ9L3hvcmcvbW9kdWxlcy9saWJleGEuc28iCitGSUxFU18ke1BOfS1tb2R1bGUteGFhID0gIiR7bGliZGlyfS94b3JnL21vZHVsZXMvbGlieGFhLnNvIgorRklMRVNfJHtQTn0tbW9kdWxlLWxpYnhmMWJwcCA9ICIke2xpYmRpcn0veG9yZy9tb2R1bGVzL2xpYnhmMWJwcC5zbyIKK0ZJTEVTXyR7UE59LW1vZHVsZS1saWJ4ZjRicHAgPSAiJHtsaWJkaXJ9L3hvcmcvbW9kdWxlcy9saWJ4ZjRicHAuc28iCitGSUxFU194Zjg2LXZpZGVvLW1vZGVzZXR0aW5nID0gIiR7bGliZGlyfS94b3JnL21vZHVsZXMvZHJpdmVycy9tb2Rlc2V0dGluZ19kcnYuc28iCisKK0VYVFJBX09FQ09ORiArPSAiLS13aXRoLWZvcD1ubyBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1waWMgXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUtc3RhdGljIFwKKyAgICAgICAgICAgICAgICAgLS1kaXNhYmxlLXJlY29yZCBcCisgICAgICAgICAgICAgICAgIC0tZGlzYWJsZS1kbXggXAorICAgICAgICAgICAgICAgICAtLWRpc2FibGUteG5lc3QgXAorICAgICAgICAgICAgICAgICAtLWVuYWJsZS14dmZiIFwKKyAgICAgICAgICAgICAgICAgLS1lbmFibGUtY29tcG9zaXRlIFwKKyAgICAgICAgICAgICAgICAgLS13aXRob3V0LWR0cmFjZSBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1pbnQxMD14ODZlbXUgXAorICAgICAgICAgICAgICAgICAtLXN5c2NvbmZkaXI9L2V0Yy9YMTEgXAorICAgICAgICAgICAgICAgICAtLWxvY2Fsc3RhdGVkaXI9L3ZhciBcCisgICAgICAgICAgICAgICAgIC0td2l0aC14a2Itb3V0cHV0PS92YXIvbGliL3hrYiBcCisgICAgICAgICAgICAgICAgIC0td2l0aC1zaGExPWxpYmNyeXB0byBcCisiCisKK1BBQ0tBR0VDT05GSUcgPz89ICJkcmkyIHVkZXYgJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdvcGVuZ2wnLCAnZHJpIGdseCcsICcnLCBkKX0gXAorICAgICAgICAgICAgICAgICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCJESVNUUk9fRkVBVFVSRVMiLCAid2F5bGFuZCIsICJ4d2F5bGFuZCIsICIiLCBkKX0gXAorIgorCitQQUNLQUdFQ09ORklHW3VkZXZdID0gIi0tZW5hYmxlLWNvbmZpZy11ZGV2LC0tZGlzYWJsZS1jb25maWctdWRldix1ZGV2IgorUEFDS0FHRUNPTkZJR1tkcmldID0gIi0tZW5hYmxlLWRyaSwtLWRpc2FibGUtZHJpLGdscHJvdG8gdmlydHVhbC9tZXNhIHhmODZkcmlwcm90byIKK1BBQ0tBR0VDT05GSUdbZHJpMl0gPSAiLS1lbmFibGUtZHJpMiwtLWRpc2FibGUtZHJpMixkcmkycHJvdG8iCisjIERSSTMgcmVxdWlyZXMgeHNobWZlbmNlIHRvIGFsc28gYmUgZW5hYmxlZAorUEFDS0FHRUNPTkZJR1tkcmkzXSA9ICItLWVuYWJsZS1kcmkzLC0tZGlzYWJsZS1kcmkzLGRyaTNwcm90byIKK1BBQ0tBR0VDT05GSUdbZ2x4XSA9ICItLWVuYWJsZS1nbHggLS1lbmFibGUtZ2x4LXRscywtLWRpc2FibGUtZ2x4LGdscHJvdG8gdmlydHVhbC9saWJnbCB2aXJ0dWFsL2xpYngxMSIKK1BBQ0tBR0VDT05GSUdbdW53aW5kXSA9ICItLWVuYWJsZS1saWJ1bndpbmQsLS1kaXNhYmxlLWxpYnVud2luZCxsaWJ1bndpbmQiCitQQUNLQUdFQ09ORklHW3hzaG1mZW5jZV0gPSAiLS1lbmFibGUteHNobWZlbmNlLC0tZGlzYWJsZS14c2htZmVuY2UsbGlieHNobWZlbmNlIgorUEFDS0FHRUNPTkZJR1t4bWx0b10gPSAiLS13aXRoLXhtbHRvLCAtLXdpdGhvdXQteG1sdG8sIHhtbHRvLW5hdGl2ZSBkb2Nib29rLXhtbC1kdGQ0LW5hdGl2ZSBkb2Nib29rLXhzbC1zdHlsZXNoZWV0cy1uYXRpdmUiCitQQUNLQUdFQ09ORklHW3N5c3RlbWQtbG9naW5kXSA9ICItLWVuYWJsZS1zeXN0ZW1kLWxvZ2luZD15ZXMsLS1lbmFibGUtc3lzdGVtZC1sb2dpbmQ9bm8sZGJ1cywiCitQQUNLQUdFQ09ORklHW3hpbmVyYW1hXSA9ICItLWVuYWJsZS14aW5lcmFtYSwtLWRpc2FibGUteGluZXJhbWEseGluZXJhbWFwcm90byIKK1BBQ0tBR0VDT05GSUdbeHdheWxhbmRdID0gIi0tZW5hYmxlLXh3YXlsYW5kLC0tZGlzYWJsZS14d2F5bGFuZCx3YXlsYW5kIGxpYmVwb3h5IgorCitkb19pbnN0YWxsX2FwcGVuZCAoKSB7CisJIyBJdHMgYXNzdW1lZCBiYXNlLWZpbGVzIGNyZWF0ZXMgdGhpcyBmb3IgdXMKKwlybWRpciAke0R9JHtsb2NhbHN0YXRlZGlyfS9sb2cvCit9CisKKyMgQWRkIHJ1bnRpbWUgcHJvdmlkZXMgZm9yIHRoZSBBQkkgdmVyc2lvbnMgb2YgdGhlIHZpZGVvIGFuZCBpbnB1dCBzdWJzeXN0ZW1zLAorIyBzbyB0aGF0IGRyaXZlcnMgY2FuIGRlcGVuZCBvbiB0aGUgcmVsZXZhbnQgdmVyc2lvbi4KK3B5dGhvbiBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kKCkgeworICAgIGltcG9ydCBzdWJwcm9jZXNzCisKKyAgICAjIFNldCBQS0dfQ09ORklHX1BBVEggc28gcGtnLWNvbmZpZyBsb29rcyBhdCB0aGUgLnBjIGZpbGVzIHRoYXQgYXJlIGdvaW5nCisgICAgIyBpbnRvIHRoZSBuZXcgcGFja2FnZSwgbm90IHRoZSBzdGFnZWQgb25lcy4KKyAgICBuZXdlbnYgPSBkaWN0KG9zLmVudmlyb24pCisgICAgbmV3ZW52WyJQS0dfQ09ORklHX1BBVEgiXSA9IGQuZXhwYW5kKCIke1BLR0R9JHtsaWJkaXJ9L3BrZ2NvbmZpZy8iKQorCisgICAgZGVmIGdldF9hYmkobmFtZSk6CisgICAgICAgIGFiaXMgPSB7CisgICAgICAgICAgInZpZGVvIjogImFiaV92aWRlb2RydiIsCisgICAgICAgICAgImlucHV0IjogImFiaV94aW5wdXQiCisgICAgICAgIH0KKyAgICAgICAgcCA9IHN1YnByb2Nlc3MuUG9wZW4oYXJncz0icGtnLWNvbmZpZyAtLXZhcmlhYmxlPSVzIHhvcmctc2VydmVyIiAlIGFiaXNbbmFtZV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoZWxsPVRydWUsIGVudj1uZXdlbnYsIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUpCisgICAgICAgIG91dHB1dCA9IHAuY29tbXVuaWNhdGUoKVswXQorICAgICAgICBtbHByZWZpeCA9IGQuZ2V0VmFyKCdNTFBSRUZJWCcsIFRydWUpIG9yICcnCisgICAgICAgIHJldHVybiAiJXN4b3JnLWFiaS0lcy0lcyIgJSAobWxwcmVmaXgsIG5hbWUsIG91dHB1dC5zcGxpdCgiLiIpWzBdKQorCisgICAgcG4gPSBkLmdldFZhcigiUE4iLCBUcnVlKQorICAgIGQuYXBwZW5kVmFyKCJSUFJPVklERVNfIiArIHBuLCAiICIgKyBnZXRfYWJpKCJpbnB1dCIpKQorICAgIGQuYXBwZW5kVmFyKCJSUFJPVklERVNfIiArIHBuLCAiICIgKyBnZXRfYWJpKCJ2aWRlbyIpKQorfQpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhvcmcvMDAwMS11c2UtX19HTElCQ19fLWd1YXJkLWZvci1nbGliYy1zcGVjaWZpYy1jb2RlLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhvcmcvMDAwMS11c2UtX19HTElCQ19fLWd1YXJkLWZvci1nbGliYy1zcGVjaWZpYy1jb2RlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxZTRlZDQKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteG9yZy8wMDAxLXVzZS1fX0dMSUJDX18tZ3VhcmQtZm9yLWdsaWJjLXNwZWNpZmljLWNvZGUucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSBmMjQyNzQwZjY0ODhhMjVlNmNhODQ5NjhiMGUyMzE5YTlhMzk3NWI0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgNiBBcHIgMjAxNSAyMDo1Mjo1MCAtMDcwMAorU3ViamVjdDogW1BBVENIXSB1c2UgX19HTElCQ19fIGd1YXJkIGZvciBnbGliYyBzcGVjaWZpYyBjb2RlCisKK1VzaW5nIF9fbGludXhfXyBpcyBhIHRhZCBiaXQgd3JvbmcgYXNzdW1wdGlvbiBzaW5jZQorbGludXggIT0gZ2xpYmMKKworVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKK1NpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CistLS0KKyBody94ZnJlZTg2L29zLXN1cHBvcnQveGY4Nl9PU2xpYi5oIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvaHcveGZyZWU4Ni9vcy1zdXBwb3J0L3hmODZfT1NsaWIuaCBiL2h3L3hmcmVlODYvb3Mtc3VwcG9ydC94Zjg2X09TbGliLmgKK2luZGV4IGViMGEzMzguLmMzNjZmZmMgMTAwNjQ0CistLS0gYS9ody94ZnJlZTg2L29zLXN1cHBvcnQveGY4Nl9PU2xpYi5oCisrKysgYi9ody94ZnJlZTg2L29zLXN1cHBvcnQveGY4Nl9PU2xpYi5oCitAQCAtMTc4LDcgKzE3OCw3IEBACisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICNpbmNsdWRlIDxhc3NlcnQuaD4KKyAKKy0jaWZkZWYgX19saW51eF9fCisrI2lmZGVmIF9fR0xJQkNfXworICNpbmNsdWRlIDx0ZXJtaW8uaD4KKyAjZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIF9fR0xJQkNfXyAqLworICNpbmNsdWRlIDx0ZXJtaW9zLmg+CistLSAKKzIuMS40CisKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnL21hY3JvX3R3ZWFrLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhvcmcvbWFjcm9fdHdlYWsucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWMwZWVhNgotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94b3JnLXhzZXJ2ZXIveHNlcnZlci14b3JnL21hY3JvX3R3ZWFrLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK1RoaXMgaXMgdGhlIHJldmlzZWQgdmVyc2lvbiBvZiBmaWxlcy9tYWNyb190d2Vhay5wYXRjaCBmb3IKK3hvcmctc2VydmVyIDEuOC45OS45MDQgYW5kIG5ld2VyLgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogWXUgS2UgPGtlLnl1QGludGVsLmNvbT4KKworZGlmZiAtLWdpdCBhL3hvcmctc2VydmVyLm00IGIveG9yZy1zZXJ2ZXIubTQKK2luZGV4IGJkZWNmNjIuLjA0MGZkYjggMTAwNjQ0CistLS0gYS94b3JnLXNlcnZlci5tNAorKysrIGIveG9yZy1zZXJ2ZXIubTQKK0BAIC0yOCwxMCArMjgsMTIgQEAgZG5sCisgIyBDaGVja3MgZm9yIHRoZSAkMSBkZWZpbmUgaW4geG9yZy1zZXJ2ZXIuaCAoZnJvbSB0aGUgc2RrKS4gIElmIGl0CisgIyBpcyBkZWZpbmVkLCB0aGVuIGFkZCAkMSB0byAkUkVRVUlSRURfTU9EVUxFUy4KKyAKKyttNF9wYXR0ZXJuX2FsbG93KFBLR19DT05GSUdfU1lTUk9PVF9ESVIpCisrCisgQUNfREVGVU4oW1hPUkdfRFJJVkVSX0NIRUNLX0VYVF0sWworIAlBQ19SRVFVSVJFKFtQS0dfUFJPR19QS0dfQ09ORklHXSkKKyAJU0FWRV9DRkxBR1M9IiRDRkxBR1MiCistCUNGTEFHUz0iJENGTEFHUyAtSWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPXNka2RpciB4b3JnLXNlcnZlcmAiCisrCUNGTEFHUz0iJENGTEFHUyAtSSRQS0dfQ09ORklHX1NZU1JPT1RfRElSYCRQS0dfQ09ORklHIC0tdmFyaWFibGU9c2RrZGlyIHhvcmctc2VydmVyYCIKKyAJQUNfQ09NUElMRV9JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbWworICNpbmNsdWRlICJ4b3JnLXNlcnZlci5oIgorICNpZiAhZGVmaW5lZCAkMQpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhvcmdfMS4xNy4yLmJiIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hvcmcteHNlcnZlci94c2VydmVyLXhvcmdfMS4xNy4yLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwMzlkMzAKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveG9yZy14c2VydmVyL3hzZXJ2ZXIteG9yZ18xLjE3LjIuYmIKQEAgLTAsMCArMSwyOCBAQAorcmVxdWlyZSB4c2VydmVyLXhvcmcuaW5jCisKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLXVzZS1fX0dMSUJDX18tZ3VhcmQtZm9yLWdsaWJjLXNwZWNpZmljLWNvZGUucGF0Y2ggXAorICAgICAgICAgICAiCitTUkNfVVJJW21kNXN1bV0gPSAiMzk3ZTQwNTU2NjY1MTE1MDQ5MGZmNDkzZTQ2M2YxYWQiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjYxMTIwNjEyNzI4ZjJjNTAzNDY3MWQwY2EzZTIyNzM0MzhjNjBhYmE5M2IzZGRhNGE4YWE0MGU2YTI1Nzk5MyIKKworIyBUaGVzZSBleHRlbnNpb25zIGFyZSBub3cgaW50ZWdyYXRlZCBpbnRvIHRoZSBzZXJ2ZXIsIHNvIGRlY2xhcmUgdGhlIG1pZ3JhdGlvbgorIyBwYXRoIGZvciBpbi1wbGFjZSB1cGdyYWRlcy4KKworUlJFUExBQ0VTXyR7UE59ID0gICIke1BOfS1leHRlbnNpb24tZHJpIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWRyaTIgXAorICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tcmVjb3JkIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWV4dG1vZCBcCisgICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1kYmUgXAorICAgICAgICAgICAgICAgICAgICIKK1JQUk9WSURFU18ke1BOfSA9ICAiJHtQTn0tZXh0ZW5zaW9uLWRyaSBcCisgICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1kcmkyIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLXJlY29yZCBcCisgICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1leHRtb2QgXAorICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZGJlIFwKKyAgICAgICAgICAgICAgICAgICAiCitSQ09ORkxJQ1RTXyR7UE59ID0gIiR7UE59LWV4dGVuc2lvbi1kcmkgXAorICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZHJpMiBcCisgICAgICAgICAgICAgICAgICAgICR7UE59LWV4dGVuc2lvbi1yZWNvcmQgXAorICAgICAgICAgICAgICAgICAgICAke1BOfS1leHRlbnNpb24tZXh0bW9kIFwKKyAgICAgICAgICAgICAgICAgICAgJHtQTn0tZXh0ZW5zaW9uLWRiZSBcCisgICAgICAgICAgICAgICAgICAgIgpkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hyZXN0b3AveHJlc3RvcF8wLjQuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveHJlc3RvcC94cmVzdG9wXzAuNC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTVkZjAzCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3hyZXN0b3AveHJlc3RvcF8wLjQuYmIKQEAgLTAsMCArMSwyNCBAQAorU1VNTUFSWSA9ICJYUmVzOiBBIHRvcC1saWtlIHJlc291cmNlIHVzYWdlIHRvb2wgZm9yIFgiCisKK0RFU0NSSVBUSU9OID0gInRvcC1saWtlIHN0YXRpc3RpY3Mgb2YgWDExIHNlcnZlciByZXNvdXJjZSB1c2FnZSBieSBjbGllbnRzIgorCitIT01FUEFHRSA9ICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy93aWtpL1NvZnR3YXJlL3hyZXN0b3AiCitCVUdUUkFDS0VSID0gImh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvIgorCitMSUNFTlNFID0gIkdQTHYyKyIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIFwKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL3hyZXN0b3AuYztlbmRsaW5lPTE4O21kNT03MzA4NzZjMzBmMGQ4YTkyODY3NmJjZDEyNDJhM2IzNSIKKworU0VDVElPTiA9ICJ4MTEvdXRpbHMiCitQUiA9ICJyMyIKKworREVQRU5EUyA9ICJsaWJ4cmVzIGxpYnhleHQgdmlydHVhbC9saWJ4MTEgbmN1cnNlcyIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvcmVsZWFzZXMveHJlc3RvcC94cmVzdG9wLSR7UFZ9LnRhci5neiIKKworU1JDX1VSSVttZDVzdW1dID0gImQ4YTU0NTk2Y2JhZjAzN2U2MmI4MGM0NTg1YTNjYTliIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjY3YzJmYzk0YTdlY2VkYmFhZTBkMTgzN2U4MmU5M2QxZDk4ZjRhNmQ3NTk4Mjg4NjBlNTUyMTE5YWYzY2UyNTciCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94dHNjYWwveHRzY2FsLzMweFRzX0NhbGlicmF0ZS5zaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94dHNjYWwveHRzY2FsLzMweFRzX0NhbGlicmF0ZS5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYTQzNjE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3h0c2NhbC94dHNjYWwvMzB4VHNfQ2FsaWJyYXRlLnNoCkBAIC0wLDAgKzEsMTMgQEAKKyMhL2Jpbi9zaAorCisuIC9ldGMvZm9ybWZhY3Rvci9jb25maWcKKworaWYgWyAiJEhBVkVfVE9VQ0hTQ1JFRU4iID0gIjEiIF07IHRoZW4KKwluPTEKKwl3aGlsZSBbICEgLXogJFRTTElCX1RTREVWSUNFIF0gJiYgWyAhIC1mIC9ldGMvcG9pbnRlcmNhbCBdICYmIFsgJG4gLWxlIDUgXQorCWRvCisJICAgL3Vzci9iaW4veHRzY2FsCisJICAgc2xlZXAgMQorCSAgIG49JCgoJG4rMSkpCisJZG9uZQorZmkKZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94dHNjYWwveHRzY2FsL2NoYW5nZS1jcm9zcy5wYXRjaCBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94dHNjYWwveHRzY2FsL2NoYW5nZS1jcm9zcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZGE3NzE3Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3h0c2NhbC94dHNjYWwvY2hhbmdlLWNyb3NzLnBhdGNoCkBAIC0wLDAgKzEsMTggQEAKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCistLS0gdG1wL21haW4uYy5vcmlnCTIwMDctMDEtMDIgMTU6Mzk6NTQuMDAwMDAwMDAwICswMDAwCisrKysgdG1wL21haW4uYwkyMDA3LTAxLTAyIDE1OjM5OjU0LjAwMDAwMDAwMCArMDAwMAorQEAgLTEzMSw5ICsxMzEsMTAgQEAKKyB7CisgICBYUmVuZGVyRmlsbFJlY3RhbmdsZXMgKGRweSwgUGljdE9wU3JjLCBwaWN0LCAmcmVjdF9jb2xvciwgcmVjdGFuZ2xlcywgMik7CisgCistICBYRmlsbEFyYyAoZHB5LCBjcm9zc2hhaXJfdywgY3Jvc3NoYWlyX2djLCAoQ1JPU1NIQUlSX1NJWkUgLyAyKSAtIChXSURUSCAvIDIpIC0gMSwgCistCSAgICAoQ1JPU1NIQUlSX1NJWkUgLyAyKSAtIChXSURUSCAvIDIpIC0gMSwKKy0JICAgIFdJRFRIICsgMSwgV0lEVEggKyAxLCAwLCAzNjAgKiA2NCk7CisrICBYRmlsbFJlY3RhbmdsZSAoZHB5LCBjcm9zc2hhaXJfdywgY3Jvc3NoYWlyX2djLAorKwkJICAoQ1JPU1NIQUlSX1NJWkUgLyAyKSAtIChXSURUSCAvIDIpLAorKwkJICAoQ1JPU1NIQUlSX1NJWkUgLyAyKSAtIChXSURUSCAvIDIpLAorKwkJICBXSURUSCwgV0lEVEgpOworIH0KKyAKKyB2b2lkCmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveHRzY2FsL3h0c2NhbC9jbGVhbnVwLnBhdGNoIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3h0c2NhbC94dHNjYWwvY2xlYW51cC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mN2IwODU0Ci0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3h0c2NhbC94dHNjYWwvY2xlYW51cC5wYXRjaApAQCAtMCwwICsxLDYyMSBAQAorLS0tCisgTWFrZWZpbGUuYW0gIHwgICAgOSAtLQorIGNvbmZpZ3VyZS5hYyB8ICAgIDMgCisgZ3BlLWRpc3QuYW0gIHwgICAxMiAtLS0KKyBoMzYwMF90cy5oICAgfCAgMjE2IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgbWFpbi5jICAgICAgIHwgIDIxMCArKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB4dHNjYWwuaW4gICAgfCAgIDE5IC0tLS0tCisgNiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCA0NTUgZGVsZXRpb25zKC0pCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitJbmRleDogeHRzY2FsLTAuNi4zL3h0c2NhbC5pbgorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHh0c2NhbC0wLjYuMy5vcmlnL3h0c2NhbC5pbgkyMDA0LTA5LTEwIDIwOjEwOjM2LjAwMDAwMDAwMCArMDEwMAorKysrIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorQEAgLTEsMTkgKzAsMCBAQAorLSMhL2Jpbi9zaAorLQorLW1vZHVsZV9pZCgpIHsKKy0gICAgIyBHZXQgbW9kZWwgbmFtZQorLSAgICBlY2hvIGBncmVwICJeSGFyZHdhcmUiIC9wcm9jL2NwdWluZm8gfCBzZWQgLWUgInMvLio6ICovLyIgfCB0ciBhLXogQS1aYAorLX0KKy0KKy1jYXNlIGBtb2R1bGVfaWRgIGluCistCSJIUCBJUEFRIEgzMTAwIiB8ICJIUCBJUEFRIEgzODAwIiApCistCQlBUkdTPSItcm90YXRlIDkwIiA7OworLQkiSFAgSVBBUSBIMzYwMCIgfCAiSFAgSVBBUSBIMzcwMCIgfCAiSFAgSVBBUSBIMzkwMCIgfCAqQ09MTElFIHwgKlBPT0RMRSkKKy0JCUFSR1M9Ii1yb3RhdGUgMjcwIiA7OworLQkjIEgyMjAwOiB3b3JrcyB3aXRob3V0IHJvdGF0aW9uCistZXNhYworLQorLSMgdGhlIHRoaW5ncyB3ZSBkbyBmb3IgYXV0b2NvbmYKKy1wcmVmaXg9QHByZWZpeEAKKy1leGVjX3ByZWZpeD1AZXhlY19wcmVmaXhACistZXhlYyBAbGliZXhlY2RpckAveHRzY2FsLmJpbiAkQVJHUyAkKgorSW5kZXg6IHh0c2NhbC0wLjYuMy9tYWluLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB4dHNjYWwtMC42LjMub3JpZy9tYWluLmMJMjAwNy0wNy0wMSAwMToxMjo1Mi4wMDAwMDAwMDAgKzAxMDAKKysrKyB4dHNjYWwtMC42LjMvbWFpbi5jCTIwMDctMDctMDEgMDE6MTI6NTUuMDAwMDAwMDAwICswMTAwCitAQCAtMjIsMTIgKzIyLDEwIEBACisgI2luY2x1ZGUgPFgxMS9YbGliLmg+CisgCisgI2luY2x1ZGUgPFgxMS9leHRlbnNpb25zL1hyZW5kZXIuaD4KKy0jaW5jbHVkZSA8WDExL2V4dGVuc2lvbnMvWHJhbmRyLmg+CisgI2luY2x1ZGUgPFgxMS9YZnQvWGZ0Lmg+CisgI2luY2x1ZGUgPFgxMS9leHRlbnNpb25zL3hjYWxpYnJhdGUuaD4KKyAjaW5jbHVkZSA8WDExL2tleXN5bS5oPgorIAorLSNpbmNsdWRlICJoMzYwMF90cy5oIgorICNpbmNsdWRlICJjYWxpYnJhdGUuaCIKKyAKKyBEaXNwbGF5ICpkcHk7CitAQCAtNDUsMTUgKzQzLDExIEBAIFhmdENvbG9yIHhmdGNvbDsKKyBYZnREcmF3ICp4ZnRkcmF3OworIFhmdEZvbnQgKnhmdGZvbnQ7CisgaW50IHNjcmVlbl94LCBzY3JlZW5feTsKKy1pbnQgdHNfZmQ7CisgaW50IHNhbXBsZXM7CisgUGl4bWFwIGJnX3BpeG1hcDsKKyBpbnQgZmxhZ19kZWJ1ZzsKKy1pbnQgcm90YXRpb24gPSAwOworIGludCBlcnJvcl9iYXNlLCBldmVudF9iYXNlOworIAorLWludCB1c2luZ194Y2FsaWJyYXRlOworLQorIGludCBtb3Zpbmc7CisgCisgI2RlZmluZSBDUk9TU0hBSVJfU0laRQkyNQorQEAgLTYzLDcgKzU3LDYgQEAgaW50IG1vdmluZzsKKyAjZGVmaW5lIEVOT1VHSCA1CisgI2RlZmluZSBNQVhfU0FNUExFUyA0MAorIAorLSNkZWZpbmUgUkFXX0RFVklDRSAiL2Rldi9oMzYwMF90c3JhdyIKKyAjZGVmaW5lIEZPTlROQU1FICJzYW5zLTEwIgorIAorIHN0cnVjdCBwb2ludCAKK0BAIC0yODcsMTIgKzI4MCw4IEBAIHNvcnRfYnlfeSAoY29uc3Qgdm9pZCogYSwgY29uc3Qgdm9pZCAqYikKKyB2b2lkCisgc2V0X2NhbGlicmF0aW9uIChjYWxpYnJhdGlvbiAqY2FsKQorIHsKKy0gIFRTX0NBTCB0YzsKKy0gIGludCB4dHJhbnMsIHl0cmFucywgeHNjYWxlLCB5c2NhbGUsIHh5c2NhbGUsIHl4c2NhbGU7CisgICBjYWxpYnJhdGlvbiBvY2FsID0gKmNhbDsKKyAKKy0gIGlmICh1c2luZ194Y2FsaWJyYXRlKQorLSAgICB7CisgICAgICAgRklMRSAqZnA7CisgICAgICAgaWYgKGZsYWdfZGVidWcpCisgCXByaW50ZiAoImNvbnN0YW50cyBhcmU6ICVkICVkICVkICVkICVkICVkICVkXG4iLCBjYWwtPmFbMV0sIGNhbC0+YVsyXSwgY2FsLT5hWzBdLCBjYWwtPmFbNF0sIGNhbC0+YVs1XSwgY2FsLT5hWzNdLCBjYWwtPmFbNl0pOworQEAgLTMwNCwyOSArMjkzLDYgQEAgc2V0X2NhbGlicmF0aW9uIChjYWxpYnJhdGlvbiAqY2FsKQorIAl9CisgICAgICAgZnByaW50ZiAoZnAsICIlZCAlZCAlZCAlZCAlZCAlZCAlZFxuIiwgY2FsLT5hWzFdLCBjYWwtPmFbMl0sIGNhbC0+YVswXSwgY2FsLT5hWzRdLCBjYWwtPmFbNV0sIGNhbC0+YVszXSwgY2FsLT5hWzZdKTsKKyAgICAgICBmY2xvc2UgKGZwKTsgCistICAgICAgcmV0dXJuOworLSAgICB9CistCistICB4dHJhbnMgPSBjYWwtPmFbMF0gLyBjYWwtPmFbNl07CistICB5dHJhbnMgPSBjYWwtPmFbM10gLyBjYWwtPmFbNl07CistICB4c2NhbGUgPSBjYWwtPmFbMV0gKiAyNTYgLyBjYWwtPmFbNl07CistICB5c2NhbGUgPSBjYWwtPmFbNV0gKiAyNTYgLyBjYWwtPmFbNl07CistICB4eXNjYWxlID0gY2FsLT5hWzJdICogMjU2IC8gY2FsLT5hWzZdOworLSAgeXhzY2FsZSA9IGNhbC0+YVs0XSAqIDI1NiAvIGNhbC0+YVs2XTsKKy0gIAorLSAgdGMueHRyYW5zID0geHRyYW5zOworLSAgdGMueXRyYW5zID0geXRyYW5zOworLSAgdGMueHNjYWxlID0geHNjYWxlOworLSAgdGMueXNjYWxlID0geXNjYWxlOworLSAgdGMueHlzd2FwID0gMDsKKy0KKy0gIHByaW50ZiAoIiVkICVkICVkICVkICVkXG4iLCB0Yy54c2NhbGUsIHRjLnh0cmFucywgdGMueXNjYWxlLCB0Yy55dHJhbnMsIHRjLnh5c3dhcCk7CistCistICBpZiAoaW9jdGwgKHRzX2ZkLCBUU19TRVRfQ0FMLCAodm9pZCAqKSZ0YykgIT0gMCkKKy0gICAgeworLSAgICAgIHBlcnJvciAoIlRTX1NFVF9DQUwiKTsKKy0gICAgICBleGl0ICgxKTsKKy0gICAgfQorIH0KKyAKKyB2b2lkCitAQCAtMzk4LDgwICszNjQsMTMgQEAgaGFuZGxlX3RzX2V2ZW50IChpbnQgeCwgaW50IHksIGludCBwcmVzcworIH0KKyAKKyB2b2lkCistcmVhZF90cyAodm9pZCkKKy17CistICBUU19FVkVOVCB0c19ldjsKKy0gIGludCByOworLQorLSAgciA9IHJlYWQgKHRzX2ZkLCAmdHNfZXYsIHNpemVvZiAodHNfZXYpKTsKKy0gIGlmIChyID09IHNpemVvZiAodHNfZXYpKQorLSAgICBoYW5kbGVfdHNfZXZlbnQgKHRzX2V2LngsIHRzX2V2LnksIHRzX2V2LnByZXNzdXJlKTsKKy19CistCistdm9pZAorLWRvX2NhbCAoY2hhciAqKmFyZ3MpCisteworLSAgVFNfQ0FMIHRjOworLQorLSAgdGMueHNjYWxlID0gYXRvaSAoYXJnc1swXSk7CistICB0Yy54dHJhbnMgPSBhdG9pIChhcmdzWzFdKTsKKy0gIHRjLnlzY2FsZSA9IGF0b2kgKGFyZ3NbMl0pOworLSAgdGMueXRyYW5zID0gYXRvaSAoYXJnc1szXSk7CistICB0Yy54eXN3YXAgPSBhdG9pIChhcmdzWzRdKTsKKy0KKy0gIGlmIChmbGFnX2RlYnVnKQorLSAgICBmcHJpbnRmIChzdGRlcnIsICJzZXR0aW5nOiAlZCAlZCAlZCAlZCAlZFxuIiwgCistCSAgICAgdGMueHRyYW5zLCB0Yy55dHJhbnMsIHRjLnhzY2FsZSwgdGMueXNjYWxlLCB0Yy54eXN3YXApOworLSAgICAKKy0gIGlmIChpb2N0bCAodHNfZmQsIFRTX1NFVF9DQUwsICh2b2lkICopJnRjKSAhPSAwKQorLSAgICB7CistICAgICAgcGVycm9yICgiVFNfU0VUX0NBTCIpOworLSAgICAgIGV4aXQgKDEpOworLSAgICB9CistICAKKy0gIGV4aXQgKDApOworLX0KKy0KKy12b2lkCistc2hvd19jYWwgKHZvaWQpCisteworLSAgVFNfQ0FMIHRjOworLQorLSAgaWYgKGlvY3RsICh0c19mZCwgVFNfR0VUX0NBTCwgKHZvaWQgKikmdGMpICE9IDApCistICAgIHsKKy0gICAgICBwZXJyb3IgKCJUU19HRVRfQ0FMIik7CistICAgICAgZXhpdCAoMSk7CistICAgIH0KKy0KKy0gIHByaW50ZiAoIiVkICVkICVkICVkICVkXG4iLCB0Yy54c2NhbGUsIHRjLnh0cmFucywgdGMueXNjYWxlLCB0Yy55dHJhbnMsIHRjLnh5c3dhcCk7CistfQorLQorLXZvaWQKKyB1c2FnZSAoY29uc3QgY2hhciAqbmFtZSkKKyB7CistICBmcHJpbnRmIChzdGRlcnIsICJ1c2FnZTogJXMgLXZpZXdcbiIsIG5hbWUpOworLSAgZnByaW50ZiAoc3RkZXJyLCAiICAgICAgICVzIFstcm90YXRlIDwwIHwgOTAgfCAxODAgfCAyNzA+XVxuIiwgbmFtZSk7CistICBmcHJpbnRmIChzdGRlcnIsICIgICAgICAgJXMgLWNhbCA8eHM+IDx4dD4gPHlzPiA8eXQ+IDx4eXN3YXA+XG4iLCBuYW1lKTsKKy0KKysgIGZwcmludGYgKHN0ZGVyciwgInVzYWdlOiAlcyBbLWRlYnVnXVxuIiwgbmFtZSk7CisgICBleGl0ICgxKTsKKyB9CisgCisgaW50CisteHJyX3N1cHBvcnRlZCAodm9pZCkKKy17CistICBpbnQgeHJyX2V2ZW50X2Jhc2UsIHhycl9lcnJvcl9iYXNlOworLSAgaW50IHhycl9tYWpvciwgeHJyX21pbm9yOworLQorLSAgaWYgKFhSUlF1ZXJ5RXh0ZW5zaW9uIChkcHksICZ4cnJfZXZlbnRfYmFzZSwgJnhycl9lcnJvcl9iYXNlKSA9PSBGYWxzZQorLSAgICAgIHx8IFhSUlF1ZXJ5VmVyc2lvbiAoZHB5LCAmeHJyX21ham9yLCAmeHJyX21pbm9yKSA9PSAwCistICAgICAgfHwgeHJyX21ham9yICE9IDEKKy0gICAgICB8fCB4cnJfbWlub3IgPCAxKQorLSAgICByZXR1cm4gMDsKKy0KKy0gIHJldHVybiAxOworLX0KKy0KKy1pbnQKKyBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQorIHsKKyAgIFhTZXRXaW5kb3dBdHRyaWJ1dGVzIGF0dHJpYnV0ZXM7CitAQCAtNDgwLDMxICszNzksMTEgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAgIGludCBtYXhfZmQ7CisgICBHQyBiZ19nYzsKKyAgIGludCBpOworLSAgaW50IGhhdmVfeHJhbmRyOworIAorICAgZm9yIChpID0gMTsgaSA8IGFyZ2M7IGkrKykKKyAgICAgeworLSAgICAgIGlmICghc3RyY21wIChhcmd2W2ldLCAiLXZpZXciKSkKKy0JeworLQkgIHNob3dfY2FsICgpOworLQkgIGV4aXQgKDApOworLQl9CistICAgICAgZWxzZSBpZiAoIXN0cmNtcCAoYXJndltpXSwgIi1kZWJ1ZyIpKQorKyAgICAgIGlmICghc3RyY21wIChhcmd2W2ldLCAiLWRlYnVnIikpCisgCWZsYWdfZGVidWcgPSAxOworLSAgICAgIGVsc2UgaWYgKCFzdHJjbXAgKGFyZ3ZbaV0sICItY2FsIikpCistCXsKKy0JICBpZiAoYXJnYyA+IChpICsgNSkpCistCSAgICBkb19jYWwgKGFyZ3YgKyBpICsgMSk7CistCSAgZWxzZQorLQkgICAgdXNhZ2UgKGFyZ3ZbMF0pOworLQl9CistICAgICAgZWxzZSBpZiAoIXN0cmNtcCAoYXJndltpXSwgIi1yb3RhdGUiKSkKKy0JeworLQkgIGlmIChhcmdjID4gKGkgKyAxKSkKKy0JICAgIHJvdGF0aW9uID0gYXRvaSAoYXJndlsrK2ldKTsKKy0JICBlbHNlCistCSAgICB1c2FnZSAoYXJndlswXSk7CistCX0KKyAgICAgICBlbHNlCisgCXVzYWdlIChhcmd2WzBdKTsKKyAgICAgfQorQEAgLTUzMSw0OCArNDEwLDExIEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCSAgZnByaW50ZiAoc3RkZXJyLCAiZmFpbGVkIHRvIHNldCByYXcgbW9kZTogZXJyb3IgJWRcbiIsIHIpOworIAkgIGV4aXQgKDEpOworIAl9CistCistICAgICAgdXNpbmdfeGNhbGlicmF0ZSA9IDE7CistICAgIH0KKy0KKy0gIGhhdmVfeHJhbmRyID0geHJyX3N1cHBvcnRlZCAoKTsKKy0gIGlmIChoYXZlX3hyYW5kcikKKy0gICAgeworLSAgICAgIFhSUlNjcmVlbkNvbmZpZ3VyYXRpb24gKnJyX3NjcmVlbjsKKy0gICAgICBSb3RhdGlvbiBjdXJyZW50X3JvdGF0aW9uOworLQorLSAgICAgIGlmIChmbGFnX2RlYnVnKQorLQlmcHJpbnRmIChzdGRlcnIsICJYUkFORFIgaXMgc3VwcG9ydGVkXG4iKTsKKy0KKy0gICAgICBycl9zY3JlZW4gPSBYUlJHZXRTY3JlZW5JbmZvIChkcHksIFJvb3RXaW5kb3cgKGRweSwgc2NyZWVuKSk7CistCistICAgICAgWFJSUm90YXRpb25zIChkcHksIHNjcmVlbiwgJmN1cnJlbnRfcm90YXRpb24pOworLQorLSAgICAgIFhSUkZyZWVTY3JlZW5Db25maWdJbmZvIChycl9zY3JlZW4pOworLQorLSAgICAgIGlmIChmbGFnX2RlYnVnKQorLQlmcHJpbnRmIChzdGRlcnIsICJDdXJyZW50IFJBTkRSIHJvdGF0aW9uIGlzICVkXG4iLCBjdXJyZW50X3JvdGF0aW9uKTsKKy0KKy0gICAgICBzd2l0Y2ggKGN1cnJlbnRfcm90YXRpb24pCistCXsKKy0JY2FzZSBSUl9Sb3RhdGVfMjcwOgorLQkgIHJvdGF0aW9uICs9IDkwOworLQljYXNlIFJSX1JvdGF0ZV8xODA6CistCSAgcm90YXRpb24gKz0gOTA7CistCWNhc2UgUlJfUm90YXRlXzkwOgorLQkgIHJvdGF0aW9uICs9IDkwOworLQkgIHJvdGF0aW9uICU9IDM2MDsKKy0JY2FzZSBSUl9Sb3RhdGVfMDoKKy0JICBicmVhazsKKy0JZGVmYXVsdDoKKy0JICBmcHJpbnRmIChzdGRlcnIsICJVbmtub3duIFJBTkRSIHJvdGF0aW9uOiAlZFxuIiwgY3VycmVudF9yb3RhdGlvbik7CistCSAgYnJlYWs7CistCX0KKyAgICAgfQorICAgZWxzZQorICAgICB7CistICAgICAgaWYgKGZsYWdfZGVidWcpCistCWZwcmludGYgKHN0ZGVyciwgIlhSQU5EUiBub3Qgc3VwcG9ydGVkXG4iKTsKKysgICAgICBwZXJyb3IgKCJYQ0FMSUJSQVRFIGV4dGVuc2lvbiBtaXNzaW5nIik7CisrICAgICAgZXhpdCAoMSk7CisgICAgIH0KKyAKKyAgIGF0dHJpYnV0ZXMub3ZlcnJpZGVfcmVkaXJlY3QgPSBmbGFnX2RlYnVnID8gRmFsc2UgOiBUcnVlOworQEAgLTY2Niw0NSArNTA4LDE3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCisgICBmb3IgKGkgPSAwOyBpIDwgTlJfUE9JTlRTOyBpKyspCisgICAgIHsKKy0gICAgICBzd2l0Y2ggKHJvdGF0aW9uKQorLQl7CistCWNhc2UgMDoKKy0JICBjYWwueGZiW2ldID0gY2FsLnhzY3JbaV07CistCSAgY2FsLnlmYltpXSA9IGNhbC55c2NyW2ldOworLQkgIGJyZWFrOworLQljYXNlIDkwOgorLQkgIGNhbC54ZmJbaV0gPSBjYWwueXNjcltpXTsKKy0JICBjYWwueWZiW2ldID0gc2NyZWVuX3ggLSBjYWwueHNjcltpXTsKKy0JICBicmVhazsKKy0JY2FzZSAxODA6CistCSAgY2FsLnhmYltpXSA9IHNjcmVlbl94IC0gY2FsLnhzY3JbaV07CistCSAgY2FsLnlmYltpXSA9IHNjcmVlbl95IC0gY2FsLnlzY3JbaV07CistCSAgYnJlYWs7CistCWNhc2UgMjcwOgorLQkgIGNhbC54ZmJbaV0gPSBzY3JlZW5feSAtIGNhbC55c2NyW2ldOworLQkgIGNhbC55ZmJbaV0gPSBjYWwueHNjcltpXTsKKy0JICBicmVhazsKKy0JfQorKyAgICAgIGNhbC54ZmJbaV0gPSBjYWwueHNjcltpXTsKKysgICAgICBjYWwueWZiW2ldID0gY2FsLnlzY3JbaV07CisrICAgICAgWENhbGlicmF0ZVNjcmVlblRvQ29vcmQgKGRweSwgJmNhbC54ZmJbaV0sICZjYWwueWZiW2ldKTsKKyAKKyAgICAgICBpZiAoZmxhZ19kZWJ1ZykKKy0JcHJpbnRmICgicm90YXRpb24gJWQ6ICglZCwlZCkgLT4gKCVkLCVkKVxuIiwgcm90YXRpb24sIAorKwlwcmludGYgKCJyb3RhdGlvbiBjb252ZXJzaW9uOiAoJWQsJWQpIC0+ICglZCwlZClcbiIsCisgCQljYWwueHNjcltpXSwgY2FsLnlzY3JbaV0sIGNhbC54ZmJbaV0sIGNhbC55ZmJbaV0pOworICAgICB9CisgCisgICBuZXh0X2V2ZW50ICgpOworIAorLSAgaWYgKCF1c2luZ194Y2FsaWJyYXRlKQorLSAgICB7CistICAgICAgdHNfZmQgPSBvcGVuIChSQVdfREVWSUNFLCBPX1JET05MWSk7CistICAgICAgaWYgKHRzX2ZkIDwgMCkKKy0JeworLQkgIHBlcnJvciAoUkFXX0RFVklDRSk7CistCSAgZXhpdCAoMSk7CistCX0KKy0gICAgfQorLQorLSAgbWF4X2ZkID0gKHhmZCA+IHRzX2ZkKSA/IHhmZCA6IHRzX2ZkOworLQorICAgZm9yICg7OykKKyAgICAgeworICAgICAgIGZkX3NldCBmZHM7CitAQCAtNzEzLDEyICs1MjcsOCBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAorICAgICAgIEZEX1pFUk8gKCZmZHMpOworICAgICAgIEZEX1NFVCAoeGZkLCAmZmRzKTsKKy0gICAgICBpZiAodHNfZmQgIT0gLTEpCistCUZEX1NFVCAodHNfZmQsICZmZHMpOworIAorLSAgICAgIHNlbGVjdCAobWF4X2ZkICsgMSwgJmZkcywgTlVMTCwgTlVMTCwgTlVMTCk7CistICAgICAgCistICAgICAgaWYgKHRzX2ZkICE9IC0xICYmIEZEX0lTU0VUICh0c19mZCwgJmZkcykpCistCXJlYWRfdHMgKCk7CisrICAgICAgc2VsZWN0ICh4ZmQgKyAxLCAmZmRzLCBOVUxMLCBOVUxMLCBOVUxMKTsKKyAgICAgfQorIH0KKysKK0luZGV4OiB4dHNjYWwtMC42LjMvY29uZmlndXJlLmFjCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0geHRzY2FsLTAuNi4zLm9yaWcvY29uZmlndXJlLmFjCTIwMDQtMDktMTAgMjA6MTE6MTIuMDAwMDAwMDAwICswMTAwCisrKysgeHRzY2FsLTAuNi4zL2NvbmZpZ3VyZS5hYwkyMDA3LTA3LTAxIDAxOjEyOjU1LjAwMDAwMDAwMCArMDEwMAorQEAgLTksOCArOSw3IEBAIEFNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ24gZGlzdC1iemlwMl0pCisgIyBDaGVja3MgZm9yIHByb2dyYW1zLgorIEFDX1BST0dfQ0MKKyAKKy1QS0dfQ0hFQ0tfTU9EVUxFUyhYVFNDQUwsIHgxMSB4ZnQgeGV4dCB4cmFuZHIgeGNhbGlicmF0ZSkKKytQS0dfQ0hFQ0tfTU9EVUxFUyhYVFNDQUwsIHgxMSB4ZnQgeGV4dCB4Y2FsaWJyYXRlKQorIAorIEFDX0NPTkZJR19GSUxFUyhbTWFrZWZpbGVdKQorLUFDX0NPTkZJR19GSUxFUyhbeHRzY2FsXSkKKyBBQ19PVVRQVVQKK0luZGV4OiB4dHNjYWwtMC42LjMvZ3BlLWRpc3QuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB4dHNjYWwtMC42LjMub3JpZy9ncGUtZGlzdC5hbQkyMDA0LTA2LTAyIDIzOjA3OjEzLjAwMDAwMDAwMCArMDEwMAorKysrIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorQEAgLTEsMTIgKzAsMCBAQAorLUNWU1RBRyA6PSAkKHNoZWxsIGVjaG8gJChQQUNLQUdFKS0kKFZFUlNJT04pIHwgdHIgW2Etei5dIFtBLVpfXSkKKy0KKy1kaXN0LXVwbG9hZDogZGlzdAorLQlzY3AgJChQQUNLQUdFKS0kKFZFUlNJT04pLnRhci5iejIgJChVU0VSKUBoYW5kaGVsZHMub3JnOi9ob21lL2Z0cC9wdWIvcHJvamVjdHMvZ3BlL3NvdXJjZS8KKy0KKy10YWc6CistCWN2cyB0YWcgJChDVlNUQUcpCistCistcmV0YWc6CistCWN2cyB0YWcgLUYgJChDVlNUQUcpCistCistc291cmNlOiB0YWcgZGlzdC11cGxvYWQKK0luZGV4OiB4dHNjYWwtMC42LjMvaDM2MDBfdHMuaAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIHh0c2NhbC0wLjYuMy5vcmlnL2gzNjAwX3RzLmgJMjAwMy0wNy0wNSAxNzoyNzoxMC4wMDAwMDAwMDAgKzAxMDAKKysrKyAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKK0BAIC0xLDIxNiArMCwwIEBACistLyoKKy0qCistKiBEcml2ZXIgZm9yIHRoZSBIMzYwMCBUb3VjaCBTY3JlZW4gYW5kIG90aGVyIEF0bWVsIGNvbnRyb2xsZWQgZGV2aWNlcy4KKy0qCistKiBDb3B5cmlnaHQgMjAwMCBDb21wYXEgQ29tcHV0ZXIgQ29ycG9yYXRpb24uCistKgorLSogVXNlIGNvbnNpc3RlbnQgd2l0aCB0aGUgR05VIEdQTCBpcyBwZXJtaXR0ZWQsCistKiBwcm92aWRlZCB0aGF0IHRoaXMgY29weXJpZ2h0IG5vdGljZSBpcworLSogcHJlc2VydmVkIGluIGl0cyBlbnRpcmV0eSBpbiBhbGwgY29waWVzIGFuZCBkZXJpdmVkIHdvcmtzLgorLSoKKy0qIENPTVBBUSBDT01QVVRFUiBDT1JQT1JBVElPTiBNQUtFUyBOTyBXQVJSQU5USUVTLCBFWFBSRVNTRUQgT1IgSU1QTElFRCwKKy0qIEFTIFRPIFRIRSBVU0VGVUxORVNTIE9SIENPUlJFQ1RORVNTIE9GIFRISVMgQ09ERSBPUiBJVFMKKy0qIEZJVE5FU1MgRk9SIEFOWSBQQVJUSUNVTEFSIFBVUlBPU0UuCistKgorLSogQXV0aG9yOiBDaGFybGVzIEZseW5uLgorLSoKKy0qLworLQorLQorLSNpZm5kZWYgX19IMzYwMF9UU19IX18KKy0jZGVmaW5lIF9fSDM2MDBfVFNfSF9fCistCistI2luY2x1ZGUgPGxpbnV4L2lvY3RsLmg+CistCistZW51bSBoMzYwMF90c19taW5vcl9kZXZpY2VzIHsKKy0JVFNfTUlOT1IgICAgPSAwLAorLQlUU1JBV19NSU5PUiA9IDEsCistCUtFWV9NSU5PUiAgID0gMgorLX07CistCistdHlwZWRlZiBzdHJ1Y3QgaDM2MDBfdHNfY2FsaWJyYXRpb24geworLSAgICAgICAgaW50IHhzY2FsZTsKKy0gICAgICAgIGludCB4dHJhbnM7CistICAgICAgICBpbnQgeXNjYWxlOworLSAgICAgICAgaW50IHl0cmFuczsKKy0gICAgICAgIGludCB4eXN3YXA7CistfSBUU19DQUw7CistCistdHlwZWRlZiBzdHJ1Y3QgaDM2MDBfdHNfZXZlbnQgeworLSAgICAgICAgdW5zaWduZWQgc2hvcnQgcHJlc3N1cmU7CistICAgICAgICB1bnNpZ25lZCBzaG9ydCB4OworLSAgICAgICAgdW5zaWduZWQgc2hvcnQgeTsKKy0gICAgICAgIHVuc2lnbmVkIHNob3J0IHBhZDsKKy19IFRTX0VWRU5UOworLQorLS8qIERlcHJlY2F0ZWQgLSBkbyBub3QgdXNlICovCistdHlwZWRlZiBzdHJ1Y3QgaDM2MDBfdHNfcmV0dXJuIHsKKy0gICAgICAgIHVuc2lnbmVkIHNob3J0IHByZXNzdXJlOworLSAgICAgICAgdW5zaWduZWQgc2hvcnQgeDsKKy0gICAgICAgIHVuc2lnbmVkIHNob3J0IHk7CistICAgICAgICB1bnNpZ25lZCBzaG9ydCBwYWQ7CistfSBUU19SRVQ7CistCistZW51bSBwb3dlcl9idXR0b25fbW9kZSB7CistICAgUEJNX1NVU1BFTkQgICAgICAgICAgID0gMCwKKy0gICBQQk1fR0VORVJBVEVfS0VZUFJFU1MgPSAxCistfTsKKy0KKy0KKy0vKiArKysrKysrKysrKysrKyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrICovCistCistdHlwZWRlZiBzdHJ1Y3QgdGhlcm1fZGV2IHsKKy0Jc2hvcnQgZGF0YTsKKy19IFRIRVJNX0RFVjsKKy0KKy0jZGVmaW5lIEgzNjAwX0JBVFRfQ0hFTV9BTEtBTElORSAgICAgICAgMHgwMQorLSNkZWZpbmUgSDM2MDBfQkFUVF9DSEVNX05JQ0QgICAgICAgICAgICAweDAyCistI2RlZmluZSBIMzYwMF9CQVRUX0NIRU1fTklNSCAgICAgICAgICAgIDB4MDMKKy0jZGVmaW5lIEgzNjAwX0JBVFRfQ0hFTV9MSU9OICAgICAgICAgICAgMHgwNAorLSNkZWZpbmUgSDM2MDBfQkFUVF9DSEVNX0xJUE9MWSAgICAgICAgICAweDA1CistI2RlZmluZSBIMzYwMF9CQVRUX0NIRU1fTk9UX0lOU1RBTExFRCAgIDB4MDYKKy0jZGVmaW5lIEgzNjAwX0JBVFRfQ0hFTV9VTktOT1dOICAgICAgICAgMHhmZgorLQorLS8qIFRoZXNlIHNob3VsZCBtYXRjaCB0aGUgYXBtX2Jpb3MuaCBkZWZpbml0aW9ucyAqLworLSNkZWZpbmUgSDM2MDBfQUNfU1RBVFVTX0FDX09GRkxJTkUJMHgwMAorLSNkZWZpbmUgSDM2MDBfQUNfU1RBVFVTX0FDX09OTElORQkweDAxCistI2RlZmluZSBIMzYwMF9BQ19TVEFUVVNfQUNfQkFDS1VQCTB4MDIgICAvKiBXaGF0IGRvZXMgdGhpcyBtZWFuPyAqLworLSNkZWZpbmUgSDM2MDBfQUNfU1RBVFVTX0FDX1VOS05PV04JMHhmZgorLQorLS8qIFRoZXNlIGJpdGZpZWxkcyBhcmUgcmFyZWx5ICJvcidkIiB0b2dldGhlciAqLworLSNkZWZpbmUgSDM2MDBfQkFUVF9TVEFUVVNfSElHSAkJMHgwMQorLSNkZWZpbmUgSDM2MDBfQkFUVF9TVEFUVVNfTE9XCQkweDAyCistI2RlZmluZSBIMzYwMF9CQVRUX1NUQVRVU19DUklUSUNBTAkweDA0CistI2RlZmluZSBIMzYwMF9CQVRUX1NUQVRVU19DSEFSR0lORwkweDA4CistI2RlZmluZSBIMzYwMF9CQVRUX1NUQVRVU19DSEFSR0VfTUFJTiAgIDB4MTAKKy0jZGVmaW5lIEgzNjAwX0JBVFRfU1RBVFVTX0RFQUQgICAgICAgICAgMHgyMCAgIC8qIEJhdHRlcnkgd2lsbCBub3QgY2hhcmdlICovCistI2RlZmluZSBIMzYwMF9CQVRUX05PVF9JTlNUQUxMRUQgICAgICAgIDB4MjAgICAvKiBGb3IgZXhwYW5zaW9uIHBhY2sgYmF0dGVyaWVzICovCistI2RlZmluZSBIMzYwMF9CQVRUX1NUQVRVU19GVUxMICAgICAgICAgIDB4NDAgICAvKiBCYXR0ZXJ5IGZ1bGx5IGNoYXJnZWQgKGFuZCBjb25uZWN0ZWQgdG8gQUMpICovCistI2RlZmluZSBIMzYwMF9CQVRUX1NUQVRVU19OT0JBVFQJMHg4MAorLSNkZWZpbmUgSDM2MDBfQkFUVF9TVEFUVVNfVU5LTk9XTgkweGZmCistCistc3RydWN0IGJhdHRlcnlfZGF0YSB7CistCXVuc2lnbmVkIGNoYXIgIGNoZW1pc3RyeTsKKy0JdW5zaWduZWQgY2hhciAgc3RhdHVzOworLQl1bnNpZ25lZCBzaG9ydCB2b2x0YWdlOyAgICAvKiBWb2x0YWdlIGZvciBiYXR0ZXJ5ICMwOyB1bmtub3duIGZvciBiYXR0ZXJ5ICMxICovCistCXVuc2lnbmVkIHNob3J0IHBlcmNlbnRhZ2U7IC8qIFBlcmNlbnRhZ2Ugb2YgZnVsbCBjaGFyZ2UgKi8KKy0JdW5zaWduZWQgc2hvcnQgbGlmZTsgICAgICAgLyogTGlmZSByZW1haW5pbmcgaW4gbWludXRlcyAqLworLX07CistCistc3RydWN0IGgzNjAwX2JhdHRlcnkgeworLSAgICAgICAgdW5zaWduZWQgY2hhciAgICAgICBhY19zdGF0dXM7CistCXVuc2lnbmVkIGNoYXIgICAgICAgYmF0dGVyeV9jb3VudDsgIC8qIEhvdyBtYW55IGJhdHRlcmllcyB3ZSBoYXZlICovCistCXN0cnVjdCBiYXR0ZXJ5X2RhdGEgYmF0dGVyeVsyXTsKKy19OworLQorLS8qIC0tLS0tLS0tIEVFUFJPTSBhbmQgU1BJIEludGVyZmFjZXMgLS0tLS0tLS0tLS0tLS0tKi8KKy0KKy0jZGVmaW5lIEVFUFJPTV9SRF9CVUZTSVogNgkvKiBFRVBST00gcmVhZHMgYXJlIDE2IGJpdHMgKi8KKy0jZGVmaW5lIEVFUFJPTV9XUl9CVUZTSVogNQkvKiBBbGxvdyByb29tIGZvciA4Yml0ICdhZGRyJyBmaWVsZCBpbiBidWZmZXIqLyAKKy0jZGVmaW5lIFNQSV9SRF9CVUZTSVoJIDE2CS8qIFNQSSByZWFkcyBhcmUgOCBiaXRzICovCistI2RlZmluZSBTUElfV1JfQlVGU0laCSA3CistCistLyogVGhlIEVFUFJPTSBpcyB3aGVyZSBpbnRlcm5hbCBwcm9ncmFtcyBhcmUgc3RvcmVkIG9uIHRoZSBBbXRlbC4KKy0gICBZb3UgcHJvYmFibHkgZG9uJ3Qgd2FudCB0byByZWFkIG9yIHdyaXRlIHRoZXNlIHZhbHVlcyAqLworLQorLXR5cGVkZWYgc3RydWN0IGgzNjAwX2VlcHJvbV9yZWFkX3JlcXVlc3QgeworLQl1bnNpZ25lZCBjaGFyIGFkZHI7ICAgIC8qIDhiaXQgQWRkcmVzcyBPZmZzZXQgMC0yNTUgKi8KKy0JdW5zaWduZWQgY2hhciBsZW47ICAgICAvKiBOdW1iZXIgb2YgMTZiaXQgd29yZHMgdG8gcmVhZCAwLTEyOCAgKi8KKy0JdW5zaWduZWQgc2hvcnQgYnVmZltFRVBST01fUkRfQlVGU0laXTsKKy19IEVFUFJPTV9SRUFEOworLQorLXR5cGVkZWYgc3RydWN0IGgzNjAwX2VlcHJvbV93cml0ZV9yZXF1ZXN0IHsKKy0JdW5zaWduZWQgY2hhciBsZW47CS8qIHVzZWQgb25seSB0byBjb21wdXRlIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gc2VuZCAqLworLQl1bnNpZ25lZCBjaGFyIGFkZHI7ICAgIC8qIDAtMTI4ICAqLworLQl1bnNpZ25lZCBzaG9ydCBidWZmW0VFUFJPTV9XUl9CVUZTSVpdOworLX0gRUVQUk9NX1dSSVRFOworLQorLS8qIFRoZSBTUEkgYnVzIGNvbm5lY3RzIHRvIEVFUFJPTXMgbG9jYXRlZCBvbiBzbGVldmVzIHBsdWdnZWQgaW50bworLSAgIHRoZSBpUEFRLiAgWW91IG1heSB3YW50IHRvIHJlYWQgdGhlc2UgdmFsdWVzICAqLworLQorLXR5cGVkZWYgc3RydWN0IGgzNjAwX3NwaV9yZWFkX3JlcXVlc3QgeworLQl1bnNpZ25lZCBzaG9ydCBhZGRyOyAgICAvKiAxNmJpdCBBZGRyZXNzIE9mZnNldCAwLTEyOCAqLworLQl1bnNpZ25lZCBjaGFyIGxlbjsgICAgICAvKiBOdW1iZXIgb2YgYnl0ZXMgdG8gcmVhZCAqLworLQl1bnNpZ25lZCBjaGFyIGJ1ZmZbU1BJX1JEX0JVRlNJWl07CistfSBTUElfUkVBRDsKKy0KKy0jZGVmaW5lIFNQSV9SRUFEX1NUQVRVU19CWVRFICAweGZmZmYgICAvKiBVc2UgdGhpcyBhZGRyZXNzIHRvIHJlYWQgdGhlIHN0YXR1cyBieXRlICovCistCistdHlwZWRlZiBzdHJ1Y3QgaDM2MDBfc3BpX3dyaXRlX3JlcXVlc3QgeworLQl1bnNpZ25lZCBzaG9ydCBsZW47CS8qIHVzZWQgb25seSB0byBjb21wdXRlIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gc2VuZCAqLworLQl1bnNpZ25lZCBzaG9ydCBhZGRyOwkvKiB0aGlzIDE2Yml0IGFkZHJlc3MgYWNjZXNzZXMgYSBzaW5nbGUgYnl0ZSAqLworLQl1bnNpZ25lZCBjaGFyICBidWZmW1NQSV9XUl9CVUZTSVpdOworLX0gU1BJX1dSSVRFOworLQorLQorLS8qIC0tLS0tLS0tIGVuZCBvZiBFRVBST00gYW5kIFNQSSBJbnRlcmZhY2VzIC0tLS0tLS0tLS0tLS0tLSovCistCistLyogVXNlciBzcGFjZSBzdHJ1Y3R1cmVzIGZvciBJT0NUTCBjYWxscyAqLworLQorLXR5cGVkZWYgc3RydWN0IGgzNjAwX3RzX3ZlcnNpb24geworLQl1bnNpZ25lZCBjaGFyIGhvc3RfdmVyc2lvbls4XTsJLyogYXNjaWkgIngueXkiICovCistCXVuc2lnbmVkIGNoYXIgcGFja192ZXJzaW9uWzhdOwkvKiBhc2NpaSAieC55eSIgKi8KKy0JdW5zaWduZWQgY2hhciBib290X3R5cGU7CQkvKiBUT0RPID8/ICovCistfSBWRVJfUkVUOworLQorLXR5cGVkZWYgc3RydWN0IGgzNjAwX3RzX2xlZCB7CistICAgICAgICB1bnNpZ25lZCBjaGFyIE9mZk9uQmxpbms7ICAgICAgIC8qIDA9b2ZmIDE9b24gMj1CbGluayAqLworLSAgICAgICAgdW5zaWduZWQgY2hhciBUb3RhbFRpbWU7ICAgICAgICAvKiBVbml0cyBvZiA1IHNlY29uZHMgKi8KKy0gICAgICAgIHVuc2lnbmVkIGNoYXIgT25UaW1lOyAgICAgICAgICAgLyogdW5pdHMgb2YgMTAwbS9zICovCistICAgICAgICB1bnNpZ25lZCBjaGFyIE9mZlRpbWU7ICAgICAgICAgIC8qIHVuaXRzIG9mIDEwMG0vcyAqLworLX0gTEVEX0lOOworLQorLWVudW0gZmxpdGVfbW9kZSB7CistICAgICAgICBGTElURV9NT0RFMSA9IDEsCistCUZMSVRFX0FVVE9fTU9ERSAgID0gMSwgICAgIC8qIGZvciByZWZlcmVuY2Ugb25seSAqLworLQlGTElURV9NQU5VQUxfTU9ERSA9IDIsICAgICAvKiBVc2UgdGhpcyBub3JtYWxseT8gKi8KKy0JRkxJVEVfR0VUX0xJR0hUX1NFTlNPUiA9IDMgLyogUmV0dXJucyBsaWdodCByZWFkaW5nIGluICJicmlnaHRuZXNzIiBmaWVsZCAqLworLX07CistZW51bSBmbGl0ZV9wd3IgeworLSAgICAgICAgRkxJVEVfUFdSX09GRiA9IDAsCistICAgICAgICBGTElURV9QV1JfT04gID0gMQorLX07CistCistdHlwZWRlZiBzdHJ1Y3QgaDM2MDBfdHNfZmxpdGUgeworLSAgICAgICAgdW5zaWduZWQgY2hhciBtb2RlOworLSAgICAgICAgdW5zaWduZWQgY2hhciBwd3I7CistICAgICAgICB1bnNpZ25lZCBjaGFyIGJyaWdodG5lc3M7CistfSBGTElURV9JTjsKKy0KKy0vKioqKioqKioqKioqKioqKioqKioqKioqKioqIFVwZGF0ZWQgInVuaXZlcnNhbCIgc3RydWN0dXJlcyAqKioqKioqKioqKioqKioqKioqLworLQorLS8qIFNldHMgYmFja2xpZ2h0IGZvciBib3RoIEgzMTAwIGFuZCBIMzYwMCBtb2RlbHMgLSB0ZWNobmljYWxseSAiZnJvbnRsaWdodCIgZm9yIEgzNjAwICovCistc3RydWN0IGgzNjAwX3RzX2JhY2tsaWdodCB7CistCWVudW0gZmxpdGVfcHdyIHBvd2VyOyAgICAgICAgICAvKiAwID0gb2ZmLCAxID0gb24gKi8KKy0JdW5zaWduZWQgY2hhciAgYnJpZ2h0bmVzczsgICAgIC8qIDAgLSAyNTUgICAgICAgICAqLworLX07CistCistc3RydWN0IGgzNjAwX3RzX2NvbnRyYXN0IHsgICAgICAgICAgICAvKiBPbmx5IHVzZWZ1bCBvbiBIMzEwMCBtb2RlbCAqLworLQl1bnNpZ25lZCBjaGFyIGNvbnRyYXN0OyAgICAgICAvKiAwIC0gMjU1ICovCistfTsKKy0KKy0vKiBJT0NUTCBjbWRzICB1c2VyIG9yIGtlcm5lbCBzcGFjZSAqLworLQorLS8qIFVzZSAnZicgYXMgbWFnaWMgbnVtYmVyICovCistI2RlZmluZSBJT0NfSDM2MDBfVFNfTUFHSUMgICdmJworLQorLS8qIFRPRE86IFNvbWUgb2YgdGhlc2UgSU9XUiB2YWx1ZXMgYXJlIGp1c3QgcGxhaW4gd3JvbmcgKi8KKy0jZGVmaW5lIEdFVF9WRVJTSU9OCQlfSU9SKElPQ19IMzYwMF9UU19NQUdJQywgIDEsIHN0cnVjdCBoMzYwMF90c192ZXJzaW9uICkKKy0jZGVmaW5lIFJFQURfRUVQUk9NCQlfSU9XUihJT0NfSDM2MDBfVFNfTUFHSUMsIDIsIHN0cnVjdCBoMzYwMF9lZXByb21fcmVhZF9yZXF1ZXN0KQorLSNkZWZpbmUgV1JJVEVfRUVQUk9NCQlfSU9XUihJT0NfSDM2MDBfVFNfTUFHSUMsIDMsIHN0cnVjdCBoMzYwMF9lZXByb21fd3JpdGVfcmVxdWVzdCkKKy0jZGVmaW5lIEdFVF9USEVSTUFMCQlfSU9SKElPQ19IMzYwMF9UU19NQUdJQywgIDQsIHN0cnVjdCB0aGVybV9kZXYpCistI2RlZmluZSBMRURfT04JCQlfSU9XKElPQ19IMzYwMF9UU19NQUdJQywgIDUsIHN0cnVjdCBoMzYwMF90c19sZWQpCistI2RlZmluZSBHRVRfQkFUVEVSWV9TVEFUVVMJX0lPUihJT0NfSDM2MDBfVFNfTUFHSUMsICA2LCBzdHJ1Y3QgaDM2MDBfYmF0dGVyeSkKKy0jZGVmaW5lIEZMSVRFX09OCQlfSU9XKElPQ19IMzYwMF9UU19NQUdJQywgIDcsIHN0cnVjdCBoMzYwMF90c19mbGl0ZSkKKy0jZGVmaW5lIFJFQURfU1BJCQlfSU9XUihJT0NfSDM2MDBfVFNfTUFHSUMsIDgsIHN0cnVjdCBoMzYwMF9zcGlfcmVhZF9yZXF1ZXN0KQorLSNkZWZpbmUgV1JJVEVfU1BJCQlfSU9XUihJT0NfSDM2MDBfVFNfTUFHSUMsIDksIHN0cnVjdCBoMzYwMF9zcGlfd3JpdGVfcmVxdWVzdCkKKy0jZGVmaW5lIFRTX0dFVF9DQUwJCV9JT1IoSU9DX0gzNjAwX1RTX01BR0lDLCAxMCwgc3RydWN0IGgzNjAwX3RzX2NhbGlicmF0aW9uKQorLSNkZWZpbmUgVFNfU0VUX0NBTAkJX0lPVyhJT0NfSDM2MDBfVFNfTUFHSUMsIDExLCBzdHJ1Y3QgaDM2MDBfdHNfY2FsaWJyYXRpb24pCistCistLyogTmV3IElPQ1RMIGludGVyZmFjZXMgLSBkZWZpbmVkIHRvIGJlIG1vcmUgdXNlciBmcmllbmRseSAqLworLSNkZWZpbmUgVFNfR0VUX0JBQ0tMSUdIVCAgICAgICAgX0lPUihJT0NfSDM2MDBfVFNfTUFHSUMsIDIwLCBzdHJ1Y3QgaDM2MDBfdHNfYmFja2xpZ2h0KQorLSNkZWZpbmUgVFNfU0VUX0JBQ0tMSUdIVCAgICAgICAgX0lPVyhJT0NfSDM2MDBfVFNfTUFHSUMsIDIwLCBzdHJ1Y3QgaDM2MDBfdHNfYmFja2xpZ2h0KQorLSNkZWZpbmUgVFNfR0VUX0NPTlRSQVNUICAgICAgICAgX0lPUihJT0NfSDM2MDBfVFNfTUFHSUMsIDIxLCBzdHJ1Y3QgaDM2MDBfdHNfY29udHJhc3QpCistI2RlZmluZSBUU19TRVRfQ09OVFJBU1QgICAgICAgICBfSU9XKElPQ19IMzYwMF9UU19NQUdJQywgMjEsIHN0cnVjdCBoMzYwMF90c19jb250cmFzdCkKKy0KKy0jZW5kaWYKK0luZGV4OiB4dHNjYWwtMC42LjMvTWFrZWZpbGUuYW0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB4dHNjYWwtMC42LjMub3JpZy9NYWtlZmlsZS5hbQkyMDA0LTA2LTAyIDIzOjA3OjEzLjAwMDAwMDAwMCArMDEwMAorKysrIHh0c2NhbC0wLjYuMy9NYWtlZmlsZS5hbQkyMDA3LTA3LTAyIDEyOjUxOjAyLjAwMDAwMDAwMCArMDEwMAorQEAgLTEsMTEgKzEsOCBAQAorLWxpYmV4ZWNfUFJPR1JBTVMgPSB4dHNjYWwuYmluCistYmluX1NDUklQVFMgPSB4dHNjYWwKKytiaW5fUFJPR1JBTVMgPSB4dHNjYWwKKyAKKy14dHNjYWxfYmluX1NPVVJDRVMgPSBtYWluLmMgY2FsaWJyYXRlLmMgY2FsaWJyYXRlLmggaDM2MDBfdHMuaAorK3h0c2NhbF9TT1VSQ0VTID0gbWFpbi5jIGNhbGlicmF0ZS5jIGNhbGlicmF0ZS5oCisgCisteHRzY2FsX2Jpbl9MREFERCA9IEBYVFNDQUxfTElCU0AKKyt4dHNjYWxfTERBREQgPSBAWFRTQ0FMX0xJQlNACisgCisgSU5DTFVERVMgPSBAWFRTQ0FMX0NGTEFHU0AgLUROUl9QT0lOVFM9NQorIAorLWluY2x1ZGUgZ3BlLWRpc3QuYW0KKy0KZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy94dHNjYWwveHRzY2FsL2Rzb19saW5raW5nX2NoYW5nZV9idWlsZF9maXgucGF0Y2ggYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveHRzY2FsL3h0c2NhbC9kc29fbGlua2luZ19jaGFuZ2VfYnVpbGRfZml4LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlNDUzM2YKLS0tIC9kZXYvbnVsbAorKysgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveHRzY2FsL3h0c2NhbC9kc29fbGlua2luZ19jaGFuZ2VfYnVpbGRfZml4LnBhdGNoCkBAIC0wLDAgKzEsMjcgQEAKK2FmdGVyIGdjYyBsaW5raW5nIGhhcyBjaGFuZ2VkLCBhbGwgdGhlIGxpYnJhcmllcyBtdXN0IGJlIGV4cGxpY2l0ZWx5IHNwZWNpZmllZCAKK1RoaXMgcGF0Y2ggYXZvaWRzIHRoaXMgbGlua2luZyBlcnJvcjoKKworfCBjY2FjaGUgaTU4Ni1wb2t5LWxpbnV4LWdjYyAtbWFyY2g9aTU4NiAtLXN5c3Jvb3Q9L2Rpc2swL3Bva3lidWlsZC9idWlsZDEvdG1wL3N5c3Jvb3RzL2k1ODYtcG9reS1saW51eCAgLWZleHBlbnNpdmUtb3B0aW1pemF0aW9ucyAtZm9taXQtZnJhbWUtcG9pbnRlciAtZnJlbmFtZS1yZWdpc3RlcnMgLU8yIC1nZ2RiIC1mZWxpbWluYXRlLXVudXNlZC1kZWJ1Zy10eXBlcyAgLVdsLC1PMSAtV2wsLS1oYXNoLXN0eWxlPWdudSAtV2wsLS1hcy1uZWVkZWQgLW8geHRzY2FsIG1haW4ubyBjYWxpYnJhdGUubyAtbFgxMSAtbFhmdCAtbFhleHQgLWxYY2FsaWJyYXRlXk0KK3wgL2Rpc2swL3Bva3lidWlsZC9idWlsZDEvdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3IvbGliZXhlYy9pNTg2LXBva3ktbGludXgvZ2NjL2k1ODYtcG9reS1saW51eC80LjUuMS9sZDogXj86IGludmFsaWQgRFNPIGZvciBzeW1ib2wgYFhSZW5kZXJDaGFuZ2VQaWN0dXJlJyBkZWZpbml0aW9uXk0KK3wgL2Rpc2swL3Bva3lidWlsZC9idWlsZDEvdG1wL3N5c3Jvb3RzL2k1ODYtcG9reS1saW51eC91c3IvbGliL2xpYlhyZW5kZXIuc28uMTogY291bGQgbm90IHJlYWQgc3ltYm9sczogQmFkIHZhbHVlXk0KK3wgY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXNeTQorfCBtYWtlOiAqKiogW3h0c2NhbF0gRXJyb3IgMQorCitOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPgorRGF0ZTogMjAxMS8wMS8xMQorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworSW5kZXg6IHh0c2NhbC0wLjYuMy9jb25maWd1cmUuYWMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSB4dHNjYWwtMC42LjMub3JpZy9jb25maWd1cmUuYWMKKysrKyB4dHNjYWwtMC42LjMvY29uZmlndXJlLmFjCitAQCAtOSw3ICs5LDcgQEAgQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbiBkaXN0LWJ6aXAyXSkKKyAjIENoZWNrcyBmb3IgcHJvZ3JhbXMuCisgQUNfUFJPR19DQworIAorLVBLR19DSEVDS19NT0RVTEVTKFhUU0NBTCwgeDExIHhmdCB4ZXh0IHhjYWxpYnJhdGUpCisrUEtHX0NIRUNLX01PRFVMRVMoWFRTQ0FMLCB4MTEgeGZ0IHhleHQgeGNhbGlicmF0ZSB4cmVuZGVyKQorIAorIEFDX0NPTkZJR19GSUxFUyhbTWFrZWZpbGVdKQorIEFDX09VVFBVVApkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3h0c2NhbC94dHNjYWxfMC42LjMuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveHRzY2FsL3h0c2NhbF8wLjYuMy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YmZkZGYwCi0tLSAvZGV2L251bGwKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL3h0c2NhbC94dHNjYWxfMC42LjMuYmIKQEAgLTAsMCArMSwzMyBAQAorU1VNTUFSWSA9ICJUb3VjaHNjcmVlbiBjYWxpYnJhdGlvbiB1dGlsaXR5IgorCitERVNDUklQVElPTiA9ICJCYXNpYyB0b3VjaHNjcmVlbiBjYWxpYnJhdGlvbiB1dGlsaXR5IgorCitIT01FUEFHRSA9ICJodHRwOi8vZ3BlLmxpbnV4dG9nby5vcmciCitCVUdUUkFDS0VSID0gImh0dHA6Ly9idWdzLmxpbnV4dG9nby5vcmciCitMSUNFTlNFID0gIkdQTHYyICYgR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OTRkNTVkNTEyYTliYTM2Y2FhOWI3ZGYwNzliYWUxOWYgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vbWFpbi5jO2VuZGxpbmU9MTA7bWQ1PTg3MjFiY2IwOGFlOWYyNGU1ZmU0YzgyOTQxODczYzg3IgorCitTRUNUSU9OID0gIngxMS9iYXNlIgorCitERVBFTkRTID0gInZpcnR1YWwvbGlieDExIGxpYnhmdCBsaWJ4Y2FsaWJyYXRlIgorCitQUiA9ICJyMTMiCisKK1NSQ19VUkkgPSAiJHtHUEVfTUlSUk9SfS94dHNjYWwtJHtQVn0udGFyLmJ6MiBcCisgICAgICAgICAgIGZpbGU6Ly9jaGFuZ2UtY3Jvc3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vY2xlYW51cC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9kc29fbGlua2luZ19jaGFuZ2VfYnVpbGRfZml4LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzMweFRzX0NhbGlicmF0ZS5zaCIKKworU1JDX1VSSVttZDVzdW1dID0gIjliY2FiODBiNDc0ZDU0NTQ0NzdkMWNhMTY2YTY4YzM0IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI3YjlkYzIyMDNkZTliMTcwNmNhMzlmYTZjYTgwZWNhYjg4MDc5MDllYzkwMWM0YTM0NWI4ZTQxMTc4ODAwYTEiCisKK2luaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZyBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKKyMgZGVwZW5kcyBvbiB2aXJ0dWFsL2xpYngxMQorUkVRVUlSRURfRElTVFJPX0ZFQVRVUkVTID0gIngxMSIKKworZG9faW5zdGFsbF9hcHBlbmQoKSB7CisgICAgaW5zdGFsbCAtZCAke0R9JHtzeXNjb25mZGlyfS9YMTEvWHNlc3Npb24uZC8KKyAgICBpbnN0YWxsIC1tIDA3NTUgJHtXT1JLRElSfS8zMHhUc19DYWxpYnJhdGUuc2ggJHtEfSR7c3lzY29uZmRpcn0vWDExL1hzZXNzaW9uLmQvCit9CmRpZmYgLS1naXQgYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveHZpZGVvLXRlc3RzL3h2aWRlby10ZXN0c19naXQuYmIgYi9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MveHZpZGVvLXRlc3RzL3h2aWRlby10ZXN0c19naXQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWIzYzllMAotLS0gL2Rldi9udWxsCisrKyBiL21ldGEvcmVjaXBlcy1ncmFwaGljcy94dmlkZW8tdGVzdHMveHZpZGVvLXRlc3RzX2dpdC5iYgpAQCAtMCwwICsxLDE3IEBACitTVU1NQVJZID0gIlNpbXBsZSBYVmlkZW8gdGVzdCBhcHBsaWNhdGlvbiIKK0xJQ0VOU0UgPSAiR1BMdjIrIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9NTk1MzBiZGYzMzY1OWIyOWU3M2Q0YWRiOWY5ZjY1NTIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL3Rlc3QteHZpZGVvLmM7YmVnaW5saW5lPTE7ZW5kbGluZT0yMDttZDU9NmFlM2I0YzNjMmZmOWU1MWRiYmMzNWJiMjM3YWZhMDAiCitERVBFTkRTID0gImxpYnh2IgorCitTUkNSRVYgPSAiZjhmMzIwZDAyNTRjMDljZTQ4M2ZjMWQ4ZWU5OWVjZjViYzk0MDk2NSIKK1BWID0gIjAuMStnaXQke1NSQ1BWfSIKKworU1JDX1VSSSA9ICJnaXQ6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy90ZXN0LXh2aWRlbyIKKworUyA9ICIke1dPUktESVJ9L2dpdCIKKworaW5oZXJpdCBhdXRvdG9vbHMgZGlzdHJvX2ZlYXR1cmVzX2NoZWNrCisKKyMgVGhlIGxpYnh2IHJlcXVpcmVzIHgxMSBpbiBESVNUUk9fRkVBVFVSRVMKK1JFUVVJUkVEX0RJU1RST19GRUFUVVJFUyA9ICJ4MTEiCg==