PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiAgICAgICAgICAgICBVLUJvb3QgcG9ydCBvbiB0aGUgTEVPWCdzIEVMUFQ4NjAgQ1BVIGJvYXJkCiAgICAgICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpMRU9YLm9yZyBpcyBhYm91dCB0aGUgZGV2ZWxvcG1lbnQgb2YgZnJlZSBoYXJkd2FyZSBhbmQgc29mdHdhcmUgcmVzb3VyY2VzCiAgICAgICAgIGZvciBzeXN0ZW0gb24gY2hpcC4KCkZvciBtb3JlIGluZm9ybWF0aW9uLCBjb250YWN0IFRoZSBMRU9YIHRlYW0gPHRlYW1AbGVveC5vcmc+CgpSZWZlcmVuY2VzOgp+fn5+fn5+fn5+CiAgICAxKSBHZXQgdGhlIGxhc3Qgc3RhYmxlIHJlbGVhc2UgZnJvbSBkZW54LmRlOgogICAgICAgICAgIG8gZnRwOi8vZnRwLmRlbnguZGUvcHViL3UtYm9vdC91LWJvb3QtMC4yLjAudGFyLmJ6MgogICAgMikgR2V0IHRoZSBjdXJyZW50IENWUyBzbmFwc2hvdDoKICAgICAgICAgICBvIGN2cyAtZDpwc2VydmVyOmFub255bW91c0BjdnMudS1ib290LnNvdXJjZWZvcmdlLm5ldDovY3Zzcm9vdC91LWJvb3QgbG9naW4KICAgICAgICAgICBvIGN2cyAtejYgLWQ6cHNlcnZlcjphbm9ueW1vdXNAY3ZzLnUtYm9vdC5zb3VyY2Vmb3JnZS5uZXQ6L2N2c3Jvb3QvdS1ib290IGNvIC1QIHUtYm9vdAoKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KClRoZSBFTFBUODYwIENQVSBib2FyZCBoYXMgdGhlIGZvbGxvd2luZyBmZWF0dXJlczoKClByb2Nlc3NvcjoJLSBNUEM4NjBUIEAgNTBNSHoKCQktIFBvd2VyUEMgQ29yZQoJCS0gNjUgTUlQUwoJCS0gQ2FjaGVzOiBELT40S0IsIEktPjRLQgoJCS0gQ1BNOiA0IFNDQ3MsIDIgU01DcwoJCS0gRXRoZXJuZXQgMTAvMTAwCgkJLSBTUEksIEkyQywgUENNQ0lBLCBQYXJhbGxlbAoKQ1BVIGJvYXJkOgktIERSQU06ICAgMTYgTUIKCQktIEZMQVNIOiA1MTIgS0IgKyAoMiAqIDQgTUIpCgkJLSBOVlJBTTogMTI4IEtCCgkJLSAxIFNlcmlhbCBsaW5rCgkJLSAyIEV0aGVybmV0IDEwIEJhc2VUIENoYW5uZWxzCgpPbiBwb3dlci11cCB0aGUgcHJvY2Vzc29yIGp1bXBzIHRvIHRoZSBhZGRyZXNzIG9mIDB4MDIwMDAxMDAKClRodXMsIFUtQm9vdCBpcyBjb25maWd1cmVkIHRvIHJlc2lkZSBpbiBmbGFzaCBzdGFydGluZyBhdCB0aGUgYWRkcmVzcyBvZgoweDAyMDAxMDAwLiAgVGhlIGVudmlyb25tZW50IHNwYWNlIGlzIGxvY2F0ZWQgaW4gTlZSQU0gc2VwYXJhdGVseSBmcm9tClUtQm9vdCwgYXQgdGhlIGFkZHJlc3Mgb2YgMHgwMzAwMDAwMC4KCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CgogICAgICAgICAgICAgICAgICAgICAgICBVLUJvb3QgdGVzdCByZXN1bHRzCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgT3BlcmF0aW9uIG9uIHRoZSBzZXJpYWwgY29uc29sZSAoU01DMSkKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpVLUJvb3QgMC4yLjIgKEphbiAxOSAyMDAzIC0gMTE6MDg6MzkpCgpDUFU6ICAgWFBDODYweHhaUG5uQiBhdCA1MCBNSHo6IDQga0IgSS1DYWNoZSA0IGtCIEQtQ2FjaGUgRkVDIHByZXNlbnQKICAgICAgICAgKioqIFdhcm5pbmc6IENQVSBDb3JlIGhhcyBTaWxpY29uIEJ1Z3MgLS0gQ2hlY2sgdGhlIEVycmF0YSAqKioKQm9hcmQ6ICMjIyBObyBIVyBJRCAtIGFzc3VtaW5nIEVMUFQ4NjAKRFJBTTogIDE2IE1CCkZMQVNIOiA1MTIga0IKSW46ICAgIHNlcmlhbApPdXQ6ICAgc2VyaWFsCkVycjogICBzZXJpYWwKTmV0OiAgIFNDQyBFVEhFUk5FVAoKVHlwZSAicnVuIG5mc2Jvb3QiIHRvIG1vdW50IHJvb3QgZmlsZXN5c3RlbSBvdmVyIE5GUwoKSGl0IGFueSBrZXkgdG8gc3RvcCBhdXRvYm9vdDogIDAKTEVPWF9lbHB0ODYwOiBoZWxwCmFza2VudiAgLSBnZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzIGZyb20gc3RkaW4KYXV0b3NjciAtIHJ1biBzY3JpcHQgZnJvbSBtZW1vcnkKYmFzZSAgICAtIHByaW50IG9yIHNldCBhZGRyZXNzIG9mZnNldApiZGluZm8gIC0gcHJpbnQgQm9hcmQgSW5mbyBzdHJ1Y3R1cmUKYm9vdG0gICAtIGJvb3QgYXBwbGljYXRpb24gaW1hZ2UgZnJvbSBtZW1vcnkKYm9vdHAgICAtIGJvb3QgaW1hZ2UgdmlhIG5ldHdvcmsgdXNpbmcgQm9vdFAvVEZUUCBwcm90b2NvbApib290ZCAgIC0gYm9vdCBkZWZhdWx0LCBpLmUuLCBydW4gJ2Jvb3RjbWQnCmNtcCAgICAgLSBtZW1vcnkgY29tcGFyZQpjb25pbmZvIC0gcHJpbnQgY29uc29sZSBkZXZpY2VzIGFuZCBpbmZvcm1hdGlvbnMKY3AgICAgICAtIG1lbW9yeSBjb3B5CmNyYzMyICAgLSBjaGVja3N1bSBjYWxjdWxhdGlvbgplY2hvICAgIC0gZWNobyBhcmdzIHRvIGNvbnNvbGUKZXJhc2UgICAtIGVyYXNlIEZMQVNIIG1lbW9yeQpmbGluZm8gIC0gcHJpbnQgRkxBU0ggbWVtb3J5IGluZm9ybWF0aW9uCmdvICAgICAgLSBzdGFydCBhcHBsaWNhdGlvbiBhdCBhZGRyZXNzICdhZGRyJwpoZWxwICAgIC0gcHJpbnQgb25saW5lIGhlbHAKaW1pbmZvICAtIHByaW50IGhlYWRlciBpbmZvcm1hdGlvbiBmb3IgYXBwbGljYXRpb24gaW1hZ2UKbG9hZGIgICAtIGxvYWQgYmluYXJ5IGZpbGUgb3ZlciBzZXJpYWwgbGluZSAoa2VybWl0IG1vZGUpCmxvYWRzICAgLSBsb2FkIFMtUmVjb3JkIGZpbGUgb3ZlciBzZXJpYWwgbGluZQpsb29wICAgIC0gaW5maW5pdGUgbG9vcCBvbiBhZGRyZXNzIHJhbmdlCm1kICAgICAgLSBtZW1vcnkgZGlzcGxheQptbSAgICAgIC0gbWVtb3J5IG1vZGlmeSAoYXV0by1pbmNyZW1lbnRpbmcpCm10ZXN0ICAgLSBzaW1wbGUgUkFNIHRlc3QKbXcgICAgICAtIG1lbW9yeSB3cml0ZSAoZmlsbCkKbm0gICAgICAtIG1lbW9yeSBtb2RpZnkgKGNvbnN0YW50IGFkZHJlc3MpCnByaW50ZW52LSBwcmludCBlbnZpcm9ubWVudCB2YXJpYWJsZXMKcHJvdGVjdCAtIGVuYWJsZSBvciBkaXNhYmxlIEZMQVNIIHdyaXRlIHByb3RlY3Rpb24KcmFycGJvb3QtIGJvb3QgaW1hZ2UgdmlhIG5ldHdvcmsgdXNpbmcgUkFSUC9URlRQIHByb3RvY29sCnJlc2V0ICAgLSBQZXJmb3JtIFJFU0VUIG9mIHRoZSBDUFUKcnVuICAgICAtIHJ1biBjb21tYW5kcyBpbiBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZQpzYXZlZW52IC0gc2F2ZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gcGVyc2lzdGVudCBzdG9yYWdlCnNldGVudiAgLSBzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzCnNsZWVwICAgLSBkZWxheSBleGVjdXRpb24gZm9yIHNvbWUgdGltZQp0ZnRwYm9vdC0gYm9vdCBpbWFnZSB2aWEgbmV0d29yayB1c2luZyBURlRQIHByb3RvY29sCiAgICAgICAgICAgICAgIGFuZCBlbnYgdmFyaWFibGVzIGlwYWRkciBhbmQgc2VydmVyaXAKdmVyc2lvbiAtIHByaW50IG1vbml0b3IgdmVyc2lvbgo/ICAgICAgIC0gYWxpYXMgZm9yICdoZWxwJwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBFbnZpcm9ubWVudCBWYXJpYWJsZXMgKENGR19FTlZfSVNfSU5fTlZSQU0pCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKTEVPWF9lbHB0ODYwOiBwcmludGVudgpib290ZGVsYXk9NQpsb2Fkc19lY2hvPTEKYmF1ZHJhdGU9OTYwMApzdGRpbj1zZXJpYWwKc3Rkb3V0PXNlcmlhbApzdGRlcnI9c2VyaWFsCmV0aGFkZHI9MDA6MDM6Y2E6MDA6NjQ6ZGYKaXBhZGRyPTE5Mi4xNjguMC4zMApuZXRtYXNrPTI1NS4yNTUuMjU1LjAKc2VydmVyaXA9MTkyLjE2OC4wLjEKbmZzc2VydmVyaXA9MTkyLjE2OC4wLjEKcHJlYm9vdD1lY2hvO2VjaG8gVHlwZSAicnVuIG5mc2Jvb3QiIHRvIG1vdW50IHJvb3QgZmlsZXN5c3RlbSBvdmVyIE5GUztlY2hvCmdhdGV3YXlpcD0xOTIuMTY4LjAuMQpyYW1hcmdzPXNldGVudiBib290YXJncyByb290PS9kZXYvcmFtIHJ3CnJvb3RhcmdzPXNldGVudiByb290cGF0aCAvdGZ0cC8kKGlwYWRkcikKbmZzYXJncz1zZXRlbnYgYm9vdGFyZ3Mgcm9vdD0vZGV2L25mcyBydyBuZnNyb290PSQobmZzc2VydmVyaXApOiQocm9vdHBhdGgpCmFkZGlwPXNldGVudiBib290YXJncyAkKGJvb3RhcmdzKSBpcD0kKGlwYWRkcik6JChuZnNzZXJ2ZXJpcCk6JChnYXRld2F5aXApOiQobmV0bWFzayk6JChob3N0bmFtZSk6ZXRoMDoKcmFtYm9vdD10ZnRwIDQwMDAwMCAvaG9tZS9sZW94L3BNdWx0aTtydW4gcmFtYXJncztib290bQpuZnNib290PXRmdHAgNDAwMDAwIC9ob21lL2xlb3gvdUltYWdlO3J1biByb290YXJncztydW4gbmZzYXJncztydW4gYWRkaXA7Ym9vdG0KYm9vdGNtZD1ydW4gcmFtYm9vdApjbG9ja3NfaW5fbWh6PTEKCkVudmlyb25tZW50IHNpemU6IDczMC8xNjM4MCBieXRlcwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBGbGFzaCBNZW1vcnkgSW5mb3JtYXRpb24KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpMRU9YX2VscHQ4NjA6IGZsaW5mbwoKQmFuayAjIDE6IEFNRCBBTTI5RjA0MCAgICg0IE1iaXRzKQogIFNpemU6IDUxMiBLQiBpbiA4IFNlY3RvcnMKICBTZWN0b3IgU3RhcnQgQWRkcmVzc2VzOgogICAgMDIwMDAwMDAgKFJPKSAwMjAxMDAwMCAoUk8pIDAyMDIwMDAwIChSTykgMDIwMzAwMDAgKFJPKSAwMjA0MDAwMCAgICAgCiAgICAwMjA1MDAwMCAgICAgIDAyMDYwMDAwICAgICAgMDIwNzAwMDAgICAgIAoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBCb2FyZCBJbmZvcm1hdGlvbiBTdHJ1Y3R1cmUKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpMRU9YX2VscHQ4NjA6IGJkaW5mbwptZW1zdGFydCAgICA9IDB4MDAwMDAwMDAKbWVtc2l6ZSAgICAgPSAweDAxMDAwMDAwCmZsYXNoc3RhcnQgID0gMHgwMjAwMDAwMApmbGFzaHNpemUgICA9IDB4MDAwODAwMDAKZmxhc2hvZmZzZXQgPSAweDAwMDMwMDAwCnNyYW1zdGFydCAgID0gMHgwMDAwMDAwMApzcmFtc2l6ZSAgICA9IDB4MDAwMDAwMDAKaW1tcl9iYXNlICAgPSAweEZGMDAwMDAwCmJvb3RmbGFncyAgID0gMHgwMDAwMDAwMQppbnRmcmVxICAgICA9ICAgICA1MCBNSHoKYnVzZnJlcSAgICAgPSAgICAgNTAgTUh6CmV0aGFkZHIgICAgID0gMDA6MDM6Y2E6MDA6NjQ6ZGYKSVAgYWRkciAgICAgPSAxOTIuMTY4LjAuMzAKYmF1ZHJhdGUgICAgPSAgIDk2MDAgYnBzCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIEltYWdlIERvd25sb2FkIGFuZCBydW4gb3ZlciBzZXJpYWwgcG9ydAojICAgIGhlbGxvX3dvcmxkIChTLVJlY29yZCBpbWFnZSkKIyAgICA9PT0+IDEpIEVudGVyICJsb2FkcyIgY29tbWFuZCBpbnRvIFUtQm9vdCBtb25pdG9yCiMgICAgPT09PiAyKSBGcm9tIFRlcmFUZXJtJ3MgYmFyIG1lbnUsIFNlbGVjdCAnRmlsZS9TZW5kIGZpbGUuLi4nCiMgICAgICAgICAgICBUaGVuIHNlbGVjdCAnaGVsbG9fd29ybGQuc3JlYycgd2l0aCB0aGUgZmlsZSBicm93c2VyCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKVS1Cb290IDAuMi4yIChKYW4gMTkgMjAwMyAtIDExOjA4OjM5KQoKQ1BVOiAgIFhQQzg2MHh4WlBubkIgYXQgNTAgTUh6OiA0IGtCIEktQ2FjaGUgNCBrQiBELUNhY2hlIEZFQyBwcmVzZW50CiAgICAgICAgICoqKiBXYXJuaW5nOiBDUFUgQ29yZSBoYXMgU2lsaWNvbiBCdWdzIC0tIENoZWNrIHRoZSBFcnJhdGEgKioqCkJvYXJkOiAjIyMgTm8gSFcgSUQgLSBhc3N1bWluZyBFTFBUODYwCkRSQU06ICAxNiBNQgpGTEFTSDogNTEyIGtCCkluOiAgICBzZXJpYWwKT3V0OiAgIHNlcmlhbApFcnI6ICAgc2VyaWFsCk5ldDogICBTQ0MgRVRIRVJORVQKClR5cGUgInJ1biBuZnNib290IiB0byBtb3VudCByb290IGZpbGVzeXN0ZW0gb3ZlciBORlMKCkhpdCBhbnkga2V5IHRvIHN0b3AgYXV0b2Jvb3Q6ICAwCkxFT1hfZWxwdDg2MDogbG9hZHMKIyMgUmVhZHkgZm9yIFMtUmVjb3JkIGRvd25sb2FkIC4uLgpTODA0MDQwMDA0RjMwNTAxNTQwMDA1MDE3MDk5MDUwMTRDMDAwNTAxMzg4RAojIyBGaXJzdCBMb2FkIEFkZHIgPSAweDAwMDQwMDAwCiMjIExhc3QgIExvYWQgQWRkciA9IDB4MDAwNTAxOEIKIyMgVG90YWwgU2l6ZSAgICAgID0gMHgwMDAxMDE4QyA9IDY1OTMyIEJ5dGVzCiMjIFN0YXJ0IEFkZHIgICAgICA9IDB4MDAwNDAwMDQKTEVPWF9lbHB0ODYwOiBnbyA0MDAwNCBUaGlzIGlzIGEgdGVzdCAhISEKIyMgU3RhcnRpbmcgYXBwbGljYXRpb24gYXQgMHgwMDA0MDAwNCAuLi4KSGVsbG8gV29ybGQKYXJnYyA9IDYKYXJndlswXSA9ICI0MDAwNCIKYXJndlsxXSA9ICJUaGlzIgphcmd2WzJdID0gImlzIgphcmd2WzNdID0gImEiCmFyZ3ZbNF0gPSAidGVzdCIKYXJndls1XSA9ICIhISEiCmFyZ3ZbNl0gPSAiPE5VTEw+IgpIaXQgYW55IGtleSB0byBleGl0IC4uLgoKIyMgQXBwbGljYXRpb24gdGVybWluYXRlZCwgcmMgPSAweDAKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgSW1hZ2UgZG93bmxvYWQgYW5kIHJ1biBvdmVyIGV0aGVybmV0IGludGVyZmFjZQojICAgIExpbnV4LTIuNC40ICh1SW1hZ2UpICsgUm9vdCBmaWxlc3lzdGVtIG1vdW50ZWQgb3ZlciBORlMKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpVLUJvb3QgMC4yLjIgKEphbiAxOSAyMDAzIC0gMTE6MDg6MzkpCgpDUFU6ICAgWFBDODYweHhaUG5uQiBhdCA1MCBNSHo6IDQga0IgSS1DYWNoZSA0IGtCIEQtQ2FjaGUgRkVDIHByZXNlbnQKICAgICAgICAgKioqIFdhcm5pbmc6IENQVSBDb3JlIGhhcyBTaWxpY29uIEJ1Z3MgLS0gQ2hlY2sgdGhlIEVycmF0YSAqKioKQm9hcmQ6ICMjIyBObyBIVyBJRCAtIGFzc3VtaW5nIEVMUFQ4NjAKRFJBTTogIDE2IE1CCkZMQVNIOiA1MTIga0IKSW46ICAgIHNlcmlhbApPdXQ6ICAgc2VyaWFsCkVycjogICBzZXJpYWwKTmV0OiAgIFNDQyBFVEhFUk5FVAoKVHlwZSAicnVuIG5mc2Jvb3QiIHRvIG1vdW50IHJvb3QgZmlsZXN5c3RlbSBvdmVyIE5GUwoKSGl0IGFueSBrZXkgdG8gc3RvcCBhdXRvYm9vdDogIDAKTEVPWF9lbHB0ODYwOiBydW4gbmZzYm9vdApBUlAgYnJvYWRjYXN0IDEKVEZUUCBmcm9tIHNlcnZlciAxOTIuMTY4LjAuMTsgb3VyIElQIGFkZHJlc3MgaXMgMTkyLjE2OC4wLjMwCkZpbGVuYW1lICcvaG9tZS9sZW94L3VJbWFnZScuCkxvYWQgYWRkcmVzczogMHg0MDAwMDAKTG9hZGluZzogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKZG9uZQpCeXRlcyB0cmFuc2ZlcnJlZCA9IDQ3NzI5NCAoNzQ4NmUgaGV4KQojIyBCb290aW5nIGltYWdlIGF0IDAwNDAwMDAwIC4uLgogICBJbWFnZSBOYW1lOiAgIExpbnV4LTIuNC40CiAgIEltYWdlIFR5cGU6ICAgUG93ZXJQQyBMaW51eCBLZXJuZWwgSW1hZ2UgKGd6aXAgY29tcHJlc3NlZCkKICAgRGF0YSBTaXplOiAgICA0NzcyMzAgQnl0ZXMgPSA0NjYga0IgPSAwIE1CCiAgIExvYWQgQWRkcmVzczogMDAwMDAwMDAKICAgRW50cnkgUG9pbnQ6ICAwMDAwMDAwMAogICBWZXJpZnlpbmcgQ2hlY2tzdW0gLi4uIE9LCiAgIFVuY29tcHJlc3NpbmcgS2VybmVsIEltYWdlIC4uLiBPSwpMaW51eCB2ZXJzaW9uIDIuNC40LXJ0aGFsNSAobGVveEBwNWFrNjY1MCkgKGdjYyB2ZXJzaW9uIDIuOTUuMyAyMDAxMDMxNSAocmVsZWFzZS9Nb250YVZpc3RhKSkgIzEgV2VkIEp1bCAzIDEwOjIzOjUzIENFU1QgMjAwMgpPbiBub2RlIDAgdG90YWxwYWdlczogNDA5Ngp6b25lKDApOiA0MDk2IHBhZ2VzLgp6b25lKDEpOiAwIHBhZ2VzLgp6b25lKDIpOiAwIHBhZ2VzLgpLZXJuZWwgY29tbWFuZCBsaW5lOiByb290PS9kZXYvbmZzIHJ3IG5mc3Jvb3Q9MTkyLjE2OC4wLjE6L3RmdHAvMTkyLjE2OC4wLjMwIGlwPTE5Mi4xNjguMC4zMDoxOTIuMTY4LjAuMToxOTIuMTY4LjAuMToyNTUuMjU1LjI1NS4wOjpldGgwOgpydHNjaGVkIHZlcnNpb24gPDIwMDEwNjE4LjEwNTAuMjQ+CkRlY3JlbWVudGVyIEZyZXF1ZW5jeTogMzEyNTAwMApXYXJuaW5nOiByZWFsIHRpbWUgY2xvY2sgc2VlbXMgc3R1Y2shCkNhbGlicmF0aW5nIGRlbGF5IGxvb3AuLi4gNDkuNzYgQm9nb01JUFMKTWVtb3J5OiAxNDcyMGsgYXZhaWxhYmxlICg5MjhrIGtlcm5lbCBjb2RlLCAzODRrIGRhdGEsIDQ0ayBpbml0LCAwayBoaWdobWVtKQpEZW50cnktY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAyMDQ4IChvcmRlcjogMiwgMTYzODQgYnl0ZXMpCkJ1ZmZlci1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDEwMjQgKG9yZGVyOiAwLCA0MDk2IGJ5dGVzKQpQYWdlLWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogNDA5NiAob3JkZXI6IDIsIDE2Mzg0IGJ5dGVzKQpJbm9kZS1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDEwMjQgKG9yZGVyOiAxLCA4MTkyIGJ5dGVzKQpQT1NJWCBjb25mb3JtYW5jZSB0ZXN0aW5nIGJ5IFVOSUZJWApMaW51eCBORVQ0LjAgZm9yIExpbnV4IDIuNApCYXNlZCB1cG9uIFN3YW5zZWEgVW5pdmVyc2l0eSBDb21wdXRlciBTb2NpZXR5IE5FVDMuMDM5ClN0YXJ0aW5nIGtzd2FwZCB2MS44CkNQTSBVQVJUIGRyaXZlciB2ZXJzaW9uIDAuMDMKdHR5UzAgb24gU01DMSBhdCAweDAyODAsIEJSRzEKYmxvY2s6IHF1ZXVlZCBzZWN0b3JzIG1heC9sb3cgOTcwMWtCLzMyMzNrQiwgNjQgc2xvdHMgcGVyIHF1ZXVlClJBTURJU0sgZHJpdmVyIGluaXRpYWxpemVkOiAxNiBSQU0gZGlza3Mgb2YgNDA5Nksgc2l6ZSAxMDI0IGJsb2Nrc2l6ZQpldGgwOiBDUE0gRU5FVCBWZXJzaW9uIDAuMiBvbiBTQ0MxLCAwMDowMzpjYTowMDo2NDpkZgpORVQ0OiBMaW51eCBUQ1AvSVAgMS4wIGZvciBORVQ0LjAKSVAgUHJvdG9jb2xzOiBJQ01QLCBVRFAsIFRDUApJUDogcm91dGluZyBjYWNoZSBoYXNoIHRhYmxlIG9mIDUxMiBidWNrZXRzLCA0S2J5dGVzClRDUDogSGFzaCB0YWJsZXMgY29uZmlndXJlZCAoZXN0YWJsaXNoZWQgMTAyNCBiaW5kIDEwMjQpCk5FVDQ6IFVuaXggZG9tYWluIHNvY2tldHMgMS4wL1NNUCBmb3IgTGludXggTkVUNC4wLgpMb29raW5nIHVwIHBvcnQgb2YgUlBDIDEwMDAwMy8yIG9uIDE5Mi4xNjguMC4xCkxvb2tpbmcgdXAgcG9ydCBvZiBSUEMgMTAwMDA1LzIgb24gMTkyLjE2OC4wLjEKVkZTOiBNb3VudGVkIHJvb3QgKG5mcyBmaWxlc3lzdGVtKS4KRnJlZWluZyB1bnVzZWQga2VybmVsIG1lbW9yeTogNDRrIGluaXQKSU5JVDogdmVyc2lvbiAyLjc4IGJvb3RpbmcKICAgICAgICAgICAgICAgIFdlbGNvbWUgdG8gREVOWCBFbWJlZGRlZCBMaW51eCBFbnZpcm9ubWVudAogICAgICAgICAgICAgICAgUHJlc3MgJ0knIHRvIGVudGVyIGludGVyYWN0aXZlIHN0YXJ0dXAuCk1vdW50aW5nIHByb2MgZmlsZXN5c3RlbTogIFsgIE9LICBdCkNvbmZpZ3VyaW5nIGtlcm5lbCBwYXJhbWV0ZXJzOiAgWyAgT0sgIF0KQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhIGFueSBrbm93biBtZXRob2QuClVzZSB0aGUgLS1kZWJ1ZyBvcHRpb24gdG8gc2VlIHRoZSBkZXRhaWxzIG9mIG91ciBzZWFyY2ggZm9yIGFuIGFjY2VzcyBtZXRob2QuClNldHRpbmcgY2xvY2sgOiBXZWQgRGVjIDMxIDE5OjAwOjExIEVTVCAxOTY5IFsgIE9LICBdCkFjdGl2YXRpbmcgc3dhcCBwYXJ0aXRpb25zOiAgWyAgT0sgIF0KU2V0dGluZyBob3N0bmFtZSAxOTIuMTY4LjAuMzA6ICBbICBPSyAgXQpGaW5kaW5nIG1vZHVsZSBkZXBlbmRlbmNpZXM6ClsgIE9LICBdCkNoZWNraW5nIGZpbGVzeXN0ZW1zCkNoZWNraW5nIGFsbCBmaWxlIHN5c3RlbXMuClsgIE9LICBdCk1vdW50aW5nIGxvY2FsIGZpbGVzeXN0ZW1zOiAgWyAgT0sgIF0KRW5hYmxpbmcgc3dhcCBzcGFjZTogIFsgIE9LICBdCklOSVQ6IEVudGVyaW5nIHJ1bmxldmVsOiAzCkVudGVyaW5nIG5vbi1pbnRlcmFjdGl2ZSBzdGFydHVwClN0YXJ0aW5nIHN5c3RlbSBsb2dnZXI6IFsgIE9LICBdClN0YXJ0aW5nIGtlcm5lbCBsb2dnZXI6IFsgIE9LICBdClN0YXJ0aW5nIHhpbmV0ZDogWyAgT0sgIF0KCjE5MiBsb2dpbjogcm9vdApMYXN0IGxvZ2luOiBXZWQgRGVjIDMxIDE5OjAwOjQxIG9uIHR0eVMwCmJhc2gtMi4wNCMKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgSW1hZ2UgZG93bmxvYWQgYW5kIHJ1biBvdmVyIGV0aGVybmV0IGludGVyZmFjZQojICAgIExpbnV4LTIuNC40ICsgUm9vdCBmaWxlc3lzdGVtIG1vdW50ZWQgZnJvbSBSQU0gKHBNdWx0aSkKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpVLUJvb3QgMC4yLjIgKEphbiAxOSAyMDAzIC0gMTE6MDg6MzkpCgpDUFU6ICAgWFBDODYweHhaUG5uQiBhdCA1MCBNSHo6IDQga0IgSS1DYWNoZSA0IGtCIEQtQ2FjaGUgRkVDIHByZXNlbnQKICAgICAgICAgKioqIFdhcm5pbmc6IENQVSBDb3JlIGhhcyBTaWxpY29uIEJ1Z3MgLS0gQ2hlY2sgdGhlIEVycmF0YSAqKioKQm9hcmQ6ICMjIyBObyBIVyBJRCAtIGFzc3VtaW5nIEVMUFQ4NjAKRFJBTTogIDE2IE1CCkZMQVNIOiA1MTIga0IKSW46ICAgIHNlcmlhbApPdXQ6ICAgc2VyaWFsCkVycjogICBzZXJpYWwKTmV0OiAgIFNDQyBFVEhFUk5FVAoKVHlwZSAicnVuIG5mc2Jvb3QiIHRvIG1vdW50IHJvb3QgZmlsZXN5c3RlbSBvdmVyIE5GUwoKSGl0IGFueSBrZXkgdG8gc3RvcCBhdXRvYm9vdDogIDAKTEVPWF9lbHB0ODYwOiBydW4gcmFtYm9vdApBUlAgYnJvYWRjYXN0IDEKVEZUUCBmcm9tIHNlcnZlciAxOTIuMTY4LjAuMTsgb3VyIElQIGFkZHJlc3MgaXMgMTkyLjE2OC4wLjMwCkZpbGVuYW1lICcvaG9tZS9sZW94L3BNdWx0aScuCkxvYWQgYWRkcmVzczogMHg0MDAwMDAKTG9hZGluZzogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAgICAgICAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKZG9uZQpCeXRlcyB0cmFuc2ZlcnJlZCA9IDE5NDc4MTYgKDFkYjhhOCBoZXgpCiMjIEJvb3RpbmcgaW1hZ2UgYXQgMDA0MDAwMDAgLi4uCiAgIEltYWdlIE5hbWU6ICAgbGludXgtMi40LjQtMjAwMi0wMy0yMSBNdWx0aWJvb3QKICAgSW1hZ2UgVHlwZTogICBQb3dlclBDIExpbnV4IE11bHRpLUZpbGUgSW1hZ2UgKGd6aXAgY29tcHJlc3NlZCkKICAgRGF0YSBTaXplOiAgICAxOTQ3NzUyIEJ5dGVzID0gMTkwMiBrQiA9IDEgTUIKICAgTG9hZCBBZGRyZXNzOiAwMDAwMDAwMAogICBFbnRyeSBQb2ludDogIDAwMDAwMDAwCiAgIENvbnRlbnRzOgogICBJbWFnZSAwOiAgIDQ3NzIzMCBCeXRlcyA9IDQ2NiBrQiA9IDAgTUIKICAgSW1hZ2UgMTogIDE0NzA1MDggQnl0ZXMgPSAxNDM2IGtCID0gMSBNQgogICBWZXJpZnlpbmcgQ2hlY2tzdW0gLi4uIE9LCiAgIFVuY29tcHJlc3NpbmcgTXVsdGktRmlsZSBJbWFnZSAuLi4gT0sKICAgTG9hZGluZyBSYW1kaXNrIHRvIDAwZTQ0MDAwLCBlbmQgMDBmYWIwMmMgLi4uIE9LCkxpbnV4IHZlcnNpb24gMi40LjQtcnRoYWw1IChsZW94QHA1YWs2NjUwKSAoZ2NjIHZlcnNpb24gMi45NS4zIDIwMDEwMzE1IChyZWxlYXNlL01vbnRhVmlzdGEpKSAjMSBXZWQgSnVsIDMgMTA6MjM6NTMgQ0VTVCAyMDAyCk9uIG5vZGUgMCB0b3RhbHBhZ2VzOiA0MDk2CnpvbmUoMCk6IDQwOTYgcGFnZXMuCnpvbmUoMSk6IDAgcGFnZXMuCnpvbmUoMik6IDAgcGFnZXMuCktlcm5lbCBjb21tYW5kIGxpbmU6IHJvb3Q9L2Rldi9yYW0gcncKcnRzY2hlZCB2ZXJzaW9uIDwyMDAxMDYxOC4xMDUwLjI0PgpEZWNyZW1lbnRlciBGcmVxdWVuY3k6IDMxMjUwMDAKV2FybmluZzogcmVhbCB0aW1lIGNsb2NrIHNlZW1zIHN0dWNrIQpDYWxpYnJhdGluZyBkZWxheSBsb29wLi4uIDQ5Ljc2IEJvZ29NSVBTCk1lbW9yeTogMTMyODBrIGF2YWlsYWJsZSAoOTI4ayBrZXJuZWwgY29kZSwgMzg0ayBkYXRhLCA0NGsgaW5pdCwgMGsgaGlnaG1lbSkKRGVudHJ5LWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogMjA0OCAob3JkZXI6IDIsIDE2Mzg0IGJ5dGVzKQpCdWZmZXItY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAxMDI0IChvcmRlcjogMCwgNDA5NiBieXRlcykKUGFnZS1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDQwOTYgKG9yZGVyOiAyLCAxNjM4NCBieXRlcykKSW5vZGUtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAxMDI0IChvcmRlcjogMSwgODE5MiBieXRlcykKUE9TSVggY29uZm9ybWFuY2UgdGVzdGluZyBieSBVTklGSVgKTGludXggTkVUNC4wIGZvciBMaW51eCAyLjQKQmFzZWQgdXBvbiBTd2Fuc2VhIFVuaXZlcnNpdHkgQ29tcHV0ZXIgU29jaWV0eSBORVQzLjAzOQpTdGFydGluZyBrc3dhcGQgdjEuOApDUE0gVUFSVCBkcml2ZXIgdmVyc2lvbiAwLjAzCnR0eVMwIG9uIFNNQzEgYXQgMHgwMjgwLCBCUkcxCmJsb2NrOiBxdWV1ZWQgc2VjdG9ycyBtYXgvbG93IDg3NDFrQi8yOTEza0IsIDY0IHNsb3RzIHBlciBxdWV1ZQpSQU1ESVNLIGRyaXZlciBpbml0aWFsaXplZDogMTYgUkFNIGRpc2tzIG9mIDQwOTZLIHNpemUgMTAyNCBibG9ja3NpemUKZXRoMDogQ1BNIEVORVQgVmVyc2lvbiAwLjIgb24gU0NDMSwgMDA6MDM6Y2E6MDA6NjQ6ZGYKUkFNRElTSzogQ29tcHJlc3NlZCBpbWFnZSBmb3VuZCBhdCBibG9jayAwCkZyZWVpbmcgaW5pdHJkIG1lbW9yeTogMTQzNmsgZnJlZWQKTkVUNDogTGludXggVENQL0lQIDEuMCBmb3IgTkVUNC4wCklQIFByb3RvY29sczogSUNNUCwgVURQLCBUQ1AKSVA6IHJvdXRpbmcgY2FjaGUgaGFzaCB0YWJsZSBvZiA1MTIgYnVja2V0cywgNEtieXRlcwpUQ1A6IEhhc2ggdGFibGVzIGNvbmZpZ3VyZWQgKGVzdGFibGlzaGVkIDEwMjQgYmluZCAxMDI0KQpJUC1Db25maWc6IEluY29tcGxldGUgbmV0d29yayBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLgpORVQ0OiBVbml4IGRvbWFpbiBzb2NrZXRzIDEuMC9TTVAgZm9yIExpbnV4IE5FVDQuMC4KVkZTOiBNb3VudGVkIHJvb3QgKGV4dDIgZmlsZXN5c3RlbSkuCkZyZWVpbmcgdW51c2VkIGtlcm5lbCBtZW1vcnk6IDQ0ayBpbukKaW5pdCBzdGFydGVkOiAgQnVzeUJveCB2MC42MC4yICgyMDAyLjA3LjAxLTEyOjA2KzAwMDApIG11bHRpLWNhbGwgQ29uZmlndXJpbmcgaG9zdG5hbWUKQ29uZmlndXJpbmcgbG8uLi4KQ29uZmlndXJpbmcgZXRoMC4uLgpDb25maWd1cmluZyBHYXRld2F5Li4uCgpQbGVhc2UgcHJlc3MgRW50ZXIgdG8gYWN0aXZhdGUgdGhpcyBjb25zb2xlLgoKRUxQVDg2MCBsb2dpbjogcm9vdApQYXNzd29yZDoKV2VsY29tZSB0byBMaW51eC0yLjQuNCBmb3IgRUxQVCBDUFUgYm9hcmQgKE1QQzg2MFQgQCA1ME1IeikKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhODg4OGIuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ4ODg4ODhiLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4UCJZUCJZODgKICAgICBfICAgICAgXyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOHxvfHxvfDg4CiAgICB8IHwgICAgfF98ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgnICAgIC44OAogICAgfCB8ICAgICBfIF9fX18gIF8gICBfICBfICBfICAgICAgICAgICAgICA4YC5fLicgWTguCiAgICB8IHwgICAgfCB8ICBfIFx8IHwgfCB8XCBcLyAvICAgICAgICAgICAgZC8gICAgICBgOGIuCiAgICB8IHxfX18gfCB8IHwgfCB8IHxffCB8LyAgICBcICAgICAgICAgIC5kUCAgIC4gICAgIFk4Yi4KICAgIHxfX19fX3x8X3xffCB8X3xcX19fX3xcXy9cXy8gICAgICAgICBkODonICAgIiAgIGA6Ojg4Yi4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ4IiAgICAgICAgICAgYFk4OGIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOjhQICAgICAnICAgICAgIDo4ODgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDhhLiAgICA6ICAgICAgX2E4OFAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuXy8iWWFhXyA6ICAgIC58IDg4UHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgIFlQIiAgICAgIGB8IDhQICBgLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8gICAgIFwuX19fX18uZHwgICAgLicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgLS0uLl9fKTg4ODg4OFBgLl8uJwpsb2dpblsyMV06IHJvb3QgbG9naW4gIG9uIGB0dHlTMCcKCgoKQnVzeUJveCB2MC42MC4zICgyMDAyLjA3LjIwLTEwOjM5KzAwMDApIEJ1aWx0LWluIHNoZWxsIChhc2gpCkVudGVyICdoZWxwJyBmb3IgYSBsaXN0IG9mIGJ1aWx0LWluIGNvbW1hbmRzLgoKcm9vdEBFTFBUODYwOn4gIwo=