Tm90aXppZSBxdW90aWRpYW5lIHwgQml0Y29pbiBzY2hpenphdG8gYSBjaXJjYSAkNjkuMDAwLCBjb24gaWwgc2VudGltZW50IHJpYWx6aXN0YSBjaGUgc2kgcmlwcmVuZGUgcmFwaWRhbWVudGU7IFRydW1wIGhhIGVzcHJlc3NvIG9waW5pb25pIHBvc2l0aXZlIHN1IEJUQyBhbGxhIGNvbmZlcmVuemEgQml0Y29pbg==
Wy8vXTpjb250ZW50LXR5cGUtTUFSS0RPV04tRE9OT1QtREVMRVRFDQohW10oaHR0cHM6Ly9naW1nMi5nYXRlaW1nLmNvbS9pbWFnZS9hcnRpY2xlLzE3MjIyMjMwMzgxXzIyLnBuZykKCiMjIERpZ2VzdCBnaW9ybmFsaWVybyBkZWxsZSBjcmlwdG92YWx1dGU6IGxhIGRlY2lzaW9uZSBzdWkgdGFzc2kgZGkgaW50ZXJlc3NlIGRlbGxhIEZlZCBzYXLDoCBhbm51bmNpYXRhIHF1ZXN0byBnaW92ZWTDrCBlIGxhIHByb2JhYmlsaXTDoCBjaGUgbGEgRmVkIG1hbnRlbmdhIGludmFyaWF0aSBpIHRhc3NpIGRpIGludGVyZXNzZSBxdWVzdGEgc2V0dGltYW5hIMOoIGRlbCA5NSw5JTsgbG8gc2NvcnNvIHZlbmVyZMOsLCBsJ0VURiBCaXRjb2luIHNwb3Qgc3RhdHVuaXRlbnNlIGhhIGF1bWVudGF0byBsZSBwcm9wcmllIGRpc3BvbmliaWxpdMOgIGRpIDYzMCBCVEMKCkdpb3ZlZMOsIDEgYWdvc3RvLCBhbGxlIDI6MDAgZGkgbWF0dGluYSBvcmEgZGkgSG9uZyBLb25nLCBsYSBGZWRlcmFsIFJlc2VydmUgdGVycsOgIHVuYSBkZWNpc2lvbmUgc3VpIHRhc3NpIGRpIGludGVyZXNzZS4gTGUgcGVyc29uZSBzaSBhc3BldHRhbm8gY2hlIGkgZnVuemlvbmFyaSBkZWxsYSBGZWRlcmFsIFJlc2VydmUgbWFudGVuZ2FubyBpbnZhcmlhdG8gaWwgdGFzc28gZGkgaW50ZXJlc3NlIHByaW5jaXBhbGUgcXVlc3RhIHNldHRpbWFuYS4gVUJTIHJpdGllbmUgY2hlIGlsIGNhbWJpYW1lbnRvIGRpIHBvbGl0aWNhIGRlbGxhIEZlZGVyYWwgUmVzZXJ2ZSBzaWEgaW1taW5lbnRlLCBjb24gdW5hIHByZXZpc2lvbmUgZGkgYmFzZSBkaSB1biB0YWdsaW8gZGVpIHRhc3NpIGRpIDI1IHB1bnRpIGJhc2UgcGVyIGxhIHByaW1hIHZvbHRhIGEgc2V0dGVtYnJlLgoKU2Vjb25kbyBsYSAiRmVkZXJhbCBSZXNlcnZlIFdhdGNoIiBkZWwgQ01FLCBsYSBwcm9iYWJpbGl0w6AgY2hlIGxhIEZlZGVyYWwgUmVzZXJ2ZSBtYW50ZW5nYSBpbnZhcmlhdGkgaSB0YXNzaSBkaSBpbnRlcmVzc2UgcXVlc3RhIHNldHRpbWFuYSDDqCBkZWwgOTUsOSUsIGUgbGEgcHJvYmFiaWxpdMOgIGRpIGFiYmFzc2FyZSBpIHRhc3NpIGRpIGludGVyZXNzZSBkaSAyNSBwdW50aSBiYXNlIMOoIGRlbCA0LDElLiBMYSBwcm9iYWJpbGl0w6AgY2hlIGxhIEZlZGVyYWwgUmVzZXJ2ZSBtYW50ZW5nYSBpbnZhcmlhdGkgaSB0YXNzaSBkaSBpbnRlcmVzc2UgZmlubyBhIHNldHRlbWJyZSDDqCBkZWwgMCUsIGxhIHByb2JhYmlsaXTDoCBkaSB1biB0YWdsaW8gY3VtdWxhdGl2byBkZWkgdGFzc2kgZGkgMjUgcHVudGkgYmFzZSDDqCBkZWxsJzg3LDclLCBsYSBwcm9iYWJpbGl0w6AgZGkgdW4gdGFnbGlvIGN1bXVsYXRpdm8gZGVpIHRhc3NpIGRpIDUwIHB1bnRpIGJhc2Ugw6ggZGVsbCcxMSw5JSwgZSBsYSBwcm9iYWJpbGl0w6AgZGkgdW4gdGFnbGlvIGN1bXVsYXRpdm8gZGVpIHRhc3NpIGRpIDc1IHB1bnRpIGJhc2Ugw6ggZGVsbG8gMCw0JS4KCklsIDI2IGx1Z2xpbywgbm92ZSBzdGF0aSBVbml0aSBbZXRoZXJldW1dKC9wcmljZS88YSBocmVmPSktZXRo4oCdIHRhcmdldD3igJxfYmxhbmvigJ0gY2xhc3M94oCcYmxvZyBfaW50ZXJub18gW2xpbmtdKC9wcmljZS9saW5rLWxuKSBHbGkgRVRGIEV0aGVyZXVtIGhhbm5vIHJpZG90dG8gbGUgbG9ybyBkZXRlbnppb25pIGRpIDM3LjA0NCBFVEgsIG1lbnRyZSBbYml0Y29pbl0oL3ByaWNlLzxhIGhyZWY9KSBHbGkgRVRGIGRpIEJpdGNvaW4gaGFubm8gYXVtZW50YXRvIGxlIGxvcm8gZGlzcG9uaWJpbGl0w6AgZGkgNjMwIEJUQy4KClZhbmVjayBwcmV2ZWRlIGNoZSBpbCBwcmV6em8gZGVsIEJpdGNvaW4gcmFnZ2l1bmdlcsOgIGkgMiw5IG1pbGlvbmkgZGkgZG9sbGFyaSBlbnRybyBpbCAyMDUwLiBJbCByYXBwb3J0byBpbmRpY2EgY2hlIEJpdGNvaW4gcHXDsiBsaXF1aWRhcmUgaWwgMTAlIGRlbCBjb21tZXJjaW8gaW50ZXJuYXppb25hbGUgZ2xvYmFsZSBlIGlsIDUlIGRlbCBjb21tZXJjaW8gaW50ZXJubywgY29uIGxlIGJhbmNoZSBjZW50cmFsaSBjaGUgZGV0ZW5nb25vIGlsIDIsNSUgZGVnbGkgYXNzZXQgc290dG8gZm9ybWEgZGkgQlRDLiBMZSBzZmlkZSBkaSBzY2FsYWJpbGl0w6Agc29ubyBkZWduZSBkaSBub3RhLCBtYSBsYSBzb2x1emlvbmUgZGkgc2Vjb25kbyBsaXZlbGxvIHBvdHJlYmJlIG1pZ2xpb3JhcmUgaSB0YXNzaSBkaSBhZG96aW9uZS4KCklsIHRva2VuLCBkZWwgdmFsb3JlIGRpIGNpcmNhICQ4OTMgbWlsaW9uaSwgdmVycsOgIHNibG9jY2F0byBpbiBhZ29zdG8sIHNlZ3VpdG8gZGFsbGEgc3VhIGRpc3RyaWJ1emlvbmUuIFtBdmFsYW5jaGVdKC9wcmljZS9hdmFsYW5jaGUtYXZheCksIGRlbCB2YWxvcmUgZmlubyBhICQyNjggbWlsaW9uaSwgZSBXb3JtaG9sZSwgZGVsIHZhbG9yZSBkaSBvbHRyZSAkMTgwIG1pbGlvbmkuCgpTZWNvbmRvIGkgZGF0aSBkaSB0b25zY2FuLCBhdHR1YWxtZW50ZSBsYSByZXRlIFRPTiBoYSBpbiBzdGFraW5nIDY3NyBtaWxpb25pIGRpIFRPTiwgcGFyaSBhbCAyNiw5JSBkZWxsJ29mZmVydGEgaW4gY2lyY29sYXppb25lICgyLDUxNjUgbWlsaWFyZGkgZGkgVE9OKS4gSW5vbHRyZSwgbCdBUFkgYXR0dWFsZSBwZXIgbG8gc3Rha2luZyDDqCBkZWwgMyw3JSBlIGNpIHNvbm8gaW4gdG90YWxlIDQwMCBub2RpIGRpIHZlcmlmaWNhIG5lbGxhIHJldGUuCgpBbGxhIGNvbmZlcmVuemEgQml0Y29pbjIwMjQsIERvbmFsZCBUcnVtcCBKci4sIGlsIGZpZ2xpbyBtYWdnaW9yZSBkaSBUcnVtcCwgaGEgZGljaGlhcmF0byBjaGUgQml0Y29pbiDDqCB1biBtZXp6byBwZXIgcHJvdGVnZ2Vyc2kgZGFsbCdpbmZsYXppb25lIGUgZGFpIGdvdmVybmkgYXV0b3JpdGFyaS4KCklsIHByb3ByaWV0YXJpbyBkaSBLYWJvc3UsIGlsIHByb3RvdGlwbyBkZWwgbWVtZSBEb2dlLCBbU2hpYmEgSW51XSgvcHJpY2Uvc2hpYmEtaW51LXNoaWIpLCBoYSBkaWNoaWFyYXRvIGNoZSBub24gYXBwcm92YW5vIG5lc3N1biBwcm9nZXR0byBjcmlwdG8gZGl2ZXJzbyBkYSBPd24gVGhlIERvZ2UuCgpCbGFja1JvY2sgSUJJVCBlIEZpZGVsaXR5IEZCVEMgc29ubyBzdGF0aSBjbGFzc2lmaWNhdGkgdHJhIGkgcHJpbWkgMTAgRVRGIGluIGVudHJhdGEgZGkgZm9uZGkgcXVlc3QnYW5ubywgY29uIGkgdGFzc2kgZGkgcmVuZGltZW50byBwacO5IGFsdGkuCgpTZWNvbmRvIGkgZGF0aSBkaSBEdW5lLCBCTE9DS0xPUkRTIGhhIHN1cGVyYXRvIHVuYSB2b2x0YSBpIDI1MC4wMDAgdXRlbnRpIGF0dGl2aSBnaW9ybmFsaWVyaSBzdWxsYSBCYXNlIGNoYWluLCBkaXZlbnRhbmRvIHVubyBkZWkgcHJpbmNpcGFsaSBnaW9jaGkgc3VsbGEgY2F0ZW5hLgoKSWwgc2l0byB3ZWIgdWZmaWNpYWxlIGRpIE5ldFgsIGNvc3RydWl0byBkYWwgcHJvZ2V0dG8gZGkgZWNvc2lzdGVtYSBUcmlhcyBkaSBpbmZyYXN0cnV0dHVyYSBkaSBjbG91ZCBjb21wdXRpbmcgQUksIMOoIHN0YXRvIHVmZmljaWFsbWVudGUgbGFuY2lhdG8gaWwgMjYgbHVnbGlvLiBMYSBtYWlubmV0IGRpIE5ldFggc2Fyw6AgcHJlc3RvIGxhbmNpYXRhIGFsbGEgZmluZSBkaSBsdWdsaW8uCgpFaWdlbkxheWVyLCBpbCBwcm90b2NvbGxvIGRpIHJlLXN0YWtpbmcgZGkgRXRoZXJldW0sIGhhIGFubnVuY2lhdG8gc3VsbGEgcGlhdHRhZm9ybWEgWCBjaGUgcHJlc3RvIGxhbmNlcsOgIGxlIHJpY29tcGVuc2UgQVZTIChBY3RpdmUgVmVyaWZpY2F0aW9uIFNlcnZpY2UpIGUgZ2xpIGluY2VudGl2aSBwcm9ncmFtbWF0aWNpIEVJR0VOLgoKIyMgVGVuZGVuemUgZGkgbWVyY2F0bzogQlRDIMOoIHNhbGl0byBhIGNpcmNhICQ2OS4wMDAsIGluZGljYW5kbyB1biByYXBpZG8gcmVjdXBlcm8gZGVsIHNlbnRpbWVudG8gcmlhbHppc3RhIG5lbCBtZXJjYXRvCgpJbCBCaXRjb2luIChCVEMpIGhhIHJlZ2lzdHJhdG8gdW4gYXVtZW50byBtb2RlcmF0byBkdXJhbnRlIGlsIGZpbmUgc2V0dGltYW5hLCBjb24gbGl2ZWxsaSBnaW9ybmFsaWVyaSwgYSA0IG9yZSBlIGEgMSBvcmEgY2hlIG1vc3RyYW5vIHVuIHRyZW5kIHJpYWx6aXN0YSBjb24gbWVkaWUgbW9iaWxpLiBTZSBxdWVzdG8gbW9tZW50dW0gY29udGludWVyw6AgcXVlc3RhIHNldHRpbWFuYSwgY2kgc2kgYXNwZXR0YSBjaGUgcmFnZ2l1bmdhIGlsIHByZWNlZGVudGUgbWFzc2ltbyBkaSBjaXJjYSAkNzAuMDAwIHByaW1hIGRpIGVzc2VyZSBmZXJtYXRvIGUgcmlwb3NhdG8uCgpEYSB1biBwdW50byBkaSB2aXN0YSBwdXJhbWVudGUgdGVjbmljbywgQml0Y29pbiBoYSBtZW5vIGRlbGwnOCUgZGVsbG8gc3BhemlvIHBlciByYWdnaXVuZ2VyZSBpbCBzdW8gb2JpZXR0aXZvIG1hc3NpbW8gc29wcmEsIG1hIHVuYSB2b2x0YSBjaGUgc2kgc3RhYmlsaXp6YSBhICQ3My4wMDAsIGxvIHNwYXppbyBzdXBlcmlvcmUgc2kgYXByaXLDoC4gVHV0dGF2aWEsIGJhc2FuZG9zaSBzdWxsJ2VzcGVyaWVuemEgc3RvcmljYSBwYXNzYXRhLCBCaXRjb2luIGhhIGFuY29yYSB1bmEgY2VydGEgYXNwZXR0YXRpdmEgZGkgZXNwbG9yYXppb25lIGFsIHJpYmFzc28gZSBkaSBhZ2dpdXN0YW1lbnRvIGRlbCBzdXBwb3J0byBjb25zaWRlcmFuZG8gaWwgZ2FwIGFsIHJpYWx6byBuZWkgZnV0dXJlcyBDTUUgZGkgcXVlc3RhIHNldHRpbWFuYSBlIHRyZSBnYXAgYSBsaXZlbGxvIGdpb3JuYWxpZXJvLgoKRGFsIHB1bnRvIGRpIHZpc3RhIGRlbCBjYXBpdGFsZSBbZmx1c3NvXSgvcHJpY2UvPGEgaHJlZj0pIEdsaSBFVEYgc3BvdCBzdGF0dW5pdGVuc2kgaGFubm8gbW9zdHJhdG8gdW4gY29udGludW8gYWZmbHVzc28gbmV0dG8gZGkgZm9uZGkgYSBsdWdsaW8sIGluZGljYW5kbyB1biBsaWV2ZSByZWN1cGVybyBkZWwgc2VudGltZW50IGRpIG1lcmNhdG8uIElsIG1lcmNhdG8gc2kgw6ggZ3JhZHVhbG1lbnRlIHJpcHJlc28gZGFsIHBhbmljbyBjYXVzYXRvIGRhbCByaW1ib3JzbyBkZWwgZGViaXRvIGluIEJpdGNvaW4gZGkgTXQuR294IGUgZGFsbGEgdmVuZGl0YSBkZWwgZ292ZXJubyB0ZWRlc2NvLgoKVmFsZSBsYSBwZW5hIG1lbnppb25hcmUgY2hlIGluIGJhc2UgYWkgcmVjZW50aSBkYXRpIGVjb25vbWljaSwgbCdpbmZsYXppb25lIHNpIHN0YSBlZmZldHRpdmFtZW50ZSByYWZmcmVkZGFuZG8uIFBvd2VsbCwgY2hlIHNvbGl0YW1lbnRlIHRlbmRldmEgYWQgYWdpcmUgaW4gYW50aWNpcG8sIGhhIHZhbHV0YXRvIGkgcmlzY2hpIGRpIHRhZ2xpIHByZW1hdHVyaSBkZWkgdGFzc2kgZGkgaW50ZXJlc3NlIGUgZGkgYXNwZXR0YXJlIHRyb3BwbyBhIGx1bmdvLiBMYSBzaXR1YXppb25lIGF0dHVhbGUgaW5kaWNhIGNoZSBsYSBGZWRlcmFsIFJlc2VydmUgc3RhIGluaXppYW5kbyBhIHByb3BlbmRlcmUgcGVyIHRhZ2xpIGFpIHRhc3NpIGRpIGludGVyZXNzZSBwacO5IHJhcGlkaS4gQ3JlZGVyZSBuZWxsJ3VsdGVyaW9yZSBzdGltb2xvIGRlbCBzZW50aW1lbnRvIHJpYWx6aXN0YSBuZWkgcHJlenppIGRlbCBCaXRjb2luIGdyYXppZSBhbCBtaWdsaW9yYW1lbnRvIGRlbGxhIGxpcXVpZGl0w6AgbWFjcm8uCgpJbiBzaW50ZXNpLCBkYSB1bmEgcHJvc3BldHRpdmEgbWFjcm8sIEJpdGNvaW4gY29udGludWVyw6AgYSByaWNldmVyZSB1biBzdWZmaWNpZW50ZSBzbGFuY2lvIHJpYWx6aXN0YSwgbWEgcG90cmViYmUgbWFudGVuZXJlIHVuYSBjZXJ0YSB0ZW5kZW56YSBkaSBjb3JyZXppb25lIG5lbCBicmV2ZSB0ZXJtaW5lLCBtZW50cmUgbGUgcHJvc3BldHRpdmUgYSBsdW5nbyB0ZXJtaW5lIHBlciBpbCBmdXR1cm8gcmltYW5nb25vIGFuY29yYSBvdHRpbWlzdGljaGUuCgojIyMgSG90c3BvdCBkaSBtZXJjYXRvOgoKU2V0dG9yZSBkZWkgcGFnYW1lbnRpOiBJbCBzZXR0b3JlIGRlaSBwYWdhbWVudGkgaGEgZ3VpZGF0byBsZWdnZXJtZW50ZSBpbCBtZXJjYXRvIGFsIHJpYWx6bywgY29uIHVuIGF1bWVudG8gZGVsIDEsNCUgbmVsbGUgdWx0aW1lIDI0IG9yZS4gW1hSUF0oL3ByaWNlL3hycC14cnApLCBCQ0gsIExUQyBlIGFsdHJpIHNldHRvcmkgbGVhZGVyIGhhbm5vIHJlZ2lzdHJhdG8gcmlzcGV0dGl2YW1lbnRlIGd1YWRhZ25pIGRlbCAxLDA3JSwgNiwxOCUgZSAwLDQyJS4gUXVlc3RpIHRva2VuIHZldGVyYW5pIGhhbm5vIHVuYSBwZXJmb3JtYW5jZSByZWxhdGl2YW1lbnRlIGRpc2NyZXRhIGUgbGEgc29zdGVuaWJpbGl0w6AgZGVsbGEgcm90YXppb25lIGRlbCB0ZW1hIGNhbGRvIGluIHF1ZXN0byBzZXR0b3JlIHBvdHJlYmJlIGF2ZXIgYmlzb2dubyBkaSBlc3NlcmUgbWlnbGlvcmF0YS4KClNldHRvcmUgTGF5ZXIxOiBJbCB2YWxvcmUgZGkgbWVyY2F0byBhdHR1YWxlIGRlbCBzZXR0b3JlIExheWVyMSDDqCBkZWwgMTAsMDMlLCBjb24gdW4gYXVtZW50byBkZWwgMCw2OCUgbmVsbGUgdWx0aW1lIDI0IG9yZS4gW0JOQl0oL3ByaWNlL2JuYi1ibmIpLCBTT0wsIEFEQSwgVFIsIFggZSBhbHRyaSBoYW5ubyBtb3N0cmF0byB1bmEgcGVyZm9ybWFuY2UgcmVsYXRpdmFtZW50ZSBmb3J0ZS4KClNldHRvcmUgTUVNRTogUmVjZW50ZW1lbnRlLCBpbCBzZXR0b3JlIE1FTUUgw6ggc3RhdG8gaWwgcHJpbW8gYSBzZWd1aXJlIHVuIGZvcnRlIHJpbWJhbHpvIGRpIG1lcmNhdG8uIE5vbm9zdGFudGUgY2kgc2lhbm8gc3RhdGkgYWx0aSBlIGJhc3NpLCBpbCBzZXR0b3JlIE1FTUUgc2kgw6ggZ3JhZHVhbG1lbnRlIG1pZ2xpb3JhdG8gZSBjaSBzYXJhbm5vIHNlbXByZSBudW92aSBNRU1FIGNoZSBzaSBhbHphbm8gY29udHJvIGxhIHRlbmRlbnphLiBBdHR1YWxtZW50ZSwgQk9NRSwgUE9OS0UsIE1VTVUsIENPUSBlIGFsdHJpIHNldHRvcmkgaGFubm8gbW9zdHJhdG8gZ3VhZGFnbmkgZWNjZXppb25hbGksIGNvbiBndWFkYWduaSBkZWwgNSw5JSwgZGVsIDE2LDclLCBkZWwgMTIsOSUgZSBkZWwgMTcsMyUgcmlzcGV0dGl2YW1lbnRlIG5lbGxlIHVsdGltZSAyNCBvcmUuCgpJbiBnZW5lcmFsZSwgbGUgYXR0ZXNlIGF0dHVhbGkgc3VsbGEgbGlxdWlkaXTDoCBtYWNyb2Vjb25vbWljYSBuZWwgW21lcmNhdG8gY3JpcHRvdmFsdXRlXSgvcHJpY2UpIHNvbm8gbWlnbGlvcmF0aSBncmFkdWFsbWVudGUuIERvcG8gYXZlciB2aXNzdXRvIHNldHRlIG1lc2kgY29uc2VjdXRpdmkgZGkgZm9ydGkgZ3VhZGFnbmksIEJpdGNvaW4gc3RhIGF0dHVhbG1lbnRlIHNwZXJpbWVudGFuZG8gdW5hIHZhc3RhIGdhbW1hIGRpIGZsdXR0dWF6aW9uaSwgY29uIHZhcmkgc2V0dG9yaSBjaGUgbWFudGVuZ29ubyB1bmEgcm90YXppb25lIHNwZWN1bGF0aXZhLiBOb24gY2kgc29ubyBwcm92ZSBjaGUgc3VnZ2VyaXNjYW5vIGNoZSBhdHR1YWxtZW50ZSBlc2lzdGEgdW5hIHNpdHVhemlvbmUgaW4gY3VpIGxhIHBvcG9sYXJpdMOgIGRpIEFJLCBEZVBJTiBlIEluc2NyaXB0aW9uIGNvbnRpbnVhIGEgaW5vbmRhcmUgbG8gc2NoZXJtbyBjb21lIGwnYW5ubyBzY29yc28uIEF0dHVhbG1lbnRlLCBsYSBzcGVjdWxhemlvbmUgZGkgY2FwaXRhbGUgw6ggYW5jb3JhIGNhdXRhIGUgaWwgbWVyY2F0byBwb3RyZWJiZSBlc3NlcmUgYWxsYSByaWNlcmNhIGRpIHByb2RvdHRpIGljb25pY2kgY2hlIHBvc3Nhbm8gYWNjZW5kZXJlIGxlIHRlbmRlbnplIGRlbCBtZXJjYXRvLiBJIG1pbmktZ2lvY2hpIE1FTUUgc3VsbGEgY2F0ZW5hIFRPTiBtZXJpdGFubyBkaSBlc3NlcmUgbW9uaXRvcmF0aS4KCk5lbCBjb21wbGVzc28sIGxlIGF0dHVhbGkgYXNwZXR0YXRpdmUgZGkgbGlxdWlkaXTDoCBtYWNybyBuZWwgbWVyY2F0byBjcml0dG9ncmFmaWNvIHNpIHNvbm8gZ3JhZHVhbG1lbnRlIG1pZ2xpb3JhdGUuIERvcG8gYXZlciBzcGVyaW1lbnRhdG8gc2V0dGUgbWVzaSBjb25zZWN1dGl2aSBkaSBmb3J0aSBndWFkYWduaSwgQml0Y29pbiBzdGEgYXR0dWFsbWVudGUgdml2ZW5kbyB1bidhbXBpYSBnYW1tYSBkaSBmbHV0dHVhemlvbmksIGNvbiB2YXJpIHNldHRvcmkgY2hlIG1hbnRlbmdvbm8gdW5hIHJvdGF6aW9uZSBzcGVjdWxhdGl2YS4gTm9uIHZpIHNvbm8gcHJvdmUgY2hlIHN1Z2dlcmlzY2FubyBjaGUgYXR0dWFsbWVudGUgZXNpc3RhIHVuYSBzaXR1YXppb25lIGluIGN1aSBsYSBwb3BvbGFyaXTDoCBkaSBBSSwgRGVQSU4gZSBJc2NyaXppb25lIGNvbnRpbnVpIGEgaW5vbmRhcmUgbG8gc2NoZXJtbyBjb21lIGwnYW5ubyBzY29yc28uIEF0dHVhbG1lbnRlLCBsYSBzcGVjdWxhemlvbmUgZGkgY2FwaXRhbGUgw6ggYW5jb3JhIGNhdXRhIGUgaWwgbWVyY2F0byBwb3RyZWJiZSBlc3NlcmUgYWxsYSByaWNlcmNhIGRpIHByb2RvdHRpIGljb25pY2kgaW4gZ3JhZG8gZGkgYWNjZW5kZXJlIHRlbmRlbnplIGRpIG1lcmNhdG8uIEkgTUVNRSBtaW5pLWdpb2NoaSBzdWxsYSBjYXRlbmEgVE9OIG1lcml0YW5vIGF0dGVuemlvbmUuCgojIyBNYWNybzogbGEgY29uZmVyZW56YSBCaXRjb2luIGFjY29nbGllIGlsIGRpc2NvcnNvIGRpIFRydW1wLCBsYSBmcmVjY2lhIGRpIGFsbGVudGFtZW50byBkZWxsYSBsaXF1aWRpdMOgIG1hY3JvIMOoIHN1bCB0YXZvbG8KCkxhIHNjb3JzYSBzZXR0aW1hbmEsIGdsaSB1bHRpbWkgcmFwcG9ydGkgZmluYW56aWFyaSByaWxhc2NpYXRpIGRhIEdvb2dsZSBlIFRlc2xhIG5vbiBzb25vIHN0YXRpIHNvZGRpc2ZhY2VudGksIGlsIGNoZSBoYSBzdXNjaXRhdG8gc3BlY3VsYXppb25pIHN1bCAic2NvcHBpbyBkZWxsYSBib2xsYSBkZWxsJ2ludGVsbGlnZW56YSBhcnRpZmljaWFsZSIgbmVsIG1lcmNhdG8gZSBhdW1lbnRhdG8gbGEgdm9sYXRpbGl0w6AgZGVsIG1lcmNhdG8gYXppb25hcmlvIHN0YXR1bml0ZW5zZS4gUGVyIHF1YW50byByaWd1YXJkYSBpIHJlbmRpbWVudGkgZGVpIHByZXp6aSwgbGEgc2NvcnNhIHNldHRpbWFuYSBpbCBEb3cgSm9uZXMgSW5kdXN0cmlhbCBBdmVyYWdlIMOoIHNhbGl0byBkZWxsbyAwLDc1JSwgaWwgTmFzZGFxIMOoIHNjZXNvIGRlbCAyLDA4JSBlIGwnaW5kaWNlIFMmUCA1MDAgw6ggc2Nlc28gZGVsbCcwLDgzJS4gVHV0dGF2aWEsIGlsIGNvbGxlZ2FtZW50byB0cmEgaWwgbWVyY2F0byBjcmlwdGF0byBlIHF1ZWxsbyBhemlvbmFyaW8gc3RhdHVuaXRlbnNlIHNpIMOoIHVsdGVyaW9ybWVudGUgaW5kZWJvbGl0bywgY29uIHVuYSBmb3J0ZSBwZXJmb3JtYW5jZSBsYSBzY29yc2Egc2V0dGltYW5hIGRvcG8gdW4gZGVjbGluby4KCkxhIHJlY2VudGUgQ29uZmVyZW56YSBCaXRjb2luIDIwMjQgaGEgYXR0aXJhdG8gbCdhdHRlbnppb25lIGRlbCBtZXJjYXRvLiBUcnVtcCBoYSB0ZW51dG8gdW4gZGlzY29yc28gYWxsYSBjb252ZW50aW9uIGVzcHJpbWVuZG8gaWwgc3VvIHB1bnRvIGRpIHZpc3RhIHBvc2l0aXZvIHN1IEJpdGNvaW4sIGRlZmluZW5kb2xvIHVuICdtaXJhY29sbyBkaSBjb29wZXJhemlvbmUgZSByZWFsaXp6YXppb25lIHVtYW5hJyBlIHByb21ldHRlbmRvIGRpIGFkb3R0YXJlIHVuYSBzZXJpZSBkaSBtaXN1cmUgYSBzb3N0ZWdubyBkZWxsbyBzdmlsdXBwbyBkZWwgc2V0dG9yZSBkZWxsZSBjcmlwdG92YWx1dGUgc2UgZm9zc2UgZWxldHRvIHByZXNpZGVudGUsIHRyYSBjdWkgbGEgY3JlYXppb25lIGRpIEJpdGNvaW4gY29tZSBhc3NldCBzdHJhdGVnaWNvLCBsbyBzdmlsdXBwbyBkaSBlbmVyZ2lhIHBlciByaWR1cnJlIGkgY29zdGkgZGkgbWluaW5nIGUgbGEgbm9taW5hIGRlbCBDb21pdGF0byBjb25zdWxpdm8gcHJlc2lkZW56aWFsZSBzdSBCaXRjb2luL0NyaXB0b3ZhbHV0ZS4gSGEgYW5jaGUgcHJldmlzdG8gY2hlIGlsIHZhbG9yZSBkaSBtZXJjYXRvIGRpIEJpdGNvaW4gc3VwZXJlcsOgIHF1ZWxsbyBkZWxsJ29ybyBpbiBmdXR1cm8gZSBoYSBwcm9tZXNzbyBkaSBjcmVhcmUgdW5hIHJpc2VydmEgc3RyYXRlZ2ljYSBuYXppb25hbGUgZGkgQml0Y29pbi4KCkluIG1lenpvIGEgc3BlY3VsYXppb25pIHN1IHBvc3NpYmlsaSBjYW1iaWFtZW50aSBuZWxsYSBwb2xpdGljYSBkaSBUcnVtcCByaWd1YXJkbyBhIEJpdGNvaW4sIGlsIHZhbG9yZSBkZWxsZSBjcmlwdG92YWx1dGUgw6ggc2FsaXRvIGEgb2x0cmUgNjkuMDAwIGRvbGxhcmkgc2FiYXRvLgoKVHV0dGF2aWEsIHZhbGUgbGEgcGVuYSBtZW56aW9uYXJlIGNoZSBkb3BvIGNoZSBUcnVtcCBoYSBwYXJ0ZWNpcGF0byBhbGxhIGNvbmZlcmVuemEgQml0Y29pbiwgZGl2ZXJzZSBtb25ldGUgY29uY2V0dHVhbGkgY29ycmVsYXRlIGEgVHJ1bXAgaGFubm8gc3BlcmltZW50YXRvIHVuIGNhbG8gZ2VuZXJhbGUuCgpEJ2FsdHJhIHBhcnRlLCBkaSBmcm9udGUgYSBkYXRpIHN1bGwnaW5mbGF6aW9uZSBkZWJvbGkgZSBkYXRpIHN1bGwnb2NjdXBhemlvbmUgZWNjZXNzaXZhbWVudGUgcmlzY2FsZGF0aSwgZG9wbyBhdmVyIHBvbmRlcmF0byBkaXZlcnNpIGZhdHRvcmksIGxlIGFzcGV0dGF0aXZlIGRpIHRhZ2xpIGRlaSB0YXNzaSBkaSBpbnRlcmVzc2UgZGVsbGEgRmVkZXJhbCBSZXNlcnZlIHNvbm8gZ3JhZHVhbG1lbnRlIGRpdmVudGF0ZSBjaGlhcmUuIExhIEZlZGVyYWwgUmVzZXJ2ZSDDqCBtb2x0byBjYXV0YSBuZWwgc3VvIGF0dGVnZ2lhbWVudG8gbmVpIGNvbmZyb250aSBkZWkgZGF0aSBzdWxsJ29jY3VwYXppb25lLCBzcGVyYW5kbyBpbiB1biBhdHRlcnJhZ2dpbyBtb3JiaWRvIG5lbCBtZXJjYXRvIGRlbCBsYXZvcm8gZSBtYW50ZW5lbmRvIHRhc3NpIGRpIGludGVyZXNzZSBlbGV2YXRpIHBlciBzb3BwcmltZXJlIGwnaW5mbGF6aW9uZS4gSWwgcmFwcG9ydG8gc3VsbGUgYnVzdGUgcGFnYSBub24gYWdyaWNvbGUgZGkgZ2l1Z25vIHNpIGFsbGluZWEgY29uIGwnb2JpZXR0aXZvIHByZXZpc3RvIGRhbGxhIEZlZGVyYWwgUmVzZXJ2ZSwgZSBsJ2FuYWxpc2kgZGkgbWVyY2F0byByaXRpZW5lIGdlbmVyYWxtZW50ZSBjaGUgbGEgRmVkIHBvdHJlYmJlIHRhZ2xpYXJlIGkgdGFzc2kgZGkgaW50ZXJlc3NlIGEgc2V0dGVtYnJlLiBUdXR0YXZpYSwgbGEgRmVkZXJhbCBSZXNlcnZlIHNpIHRyb3ZhIGRpIGZyb250ZSBhIHVuIGRpbGVtbWEgbmVsIGRlY2lkZXJlIGRpIHRhZ2xpYXJlIGkgdGFzc2kgZGkgaW50ZXJlc3NlOiBzZSBpbCBtZXJjYXRvIGRlbCBsYXZvcm8gc2kgcmFmZnJlZGRhIHRyb3BwbyByYXBpZGFtZW50ZSwgbGEgRmVkIHBvdHJlYmJlIGVzc2VyZSBjb3N0cmV0dGEgYSB0YWdsaWFyZSBpIHRhc3NpIGRpIGludGVyZXNzZSBpbiBhbnRpY2lwbyBwZXIgc2FsdmFyZSBsZSBidXN0ZSBwYWdhIG5vbiBhZ3JpY29sZSBlIGkgdGFzc2kgZGkgZGlzb2NjdXBhemlvbmU7IHNlIGlsIG1lcmNhdG8gZGVsIGxhdm9ybyByaW1hbmUgY2FsZG8sIGxhIEZlZGVyYWwgUmVzZXJ2ZSBwb3RyZWJiZSBhdmVyIGJpc29nbm8gZGkgY29udGludWFyZSBhIGVzdGVuZGVyZSBsYSBzdWEgcG9saXRpY2EgZGkgYWx0aSB0YXNzaSBkaSBpbnRlcmVzc2UuCgpUdXR0YXZpYSwgdW4naW5mbGF6aW9uZSBmYXZvcmV2b2xlLCB1biBtZXJjYXRvIGRlbCBsYXZvcm8gaW4gZmFzZSBkaSByYWZmcmVkZGFtZW50byBlIGxhIG11dGV2b2xlIGNvbnNpZGVyYXppb25lIGRlaSByaXNjaGkgY29uZ2l1bnRpIHN0YW5ubyBzcGluZ2VuZG8gbGEgRmVkZXJhbCBSZXNlcnZlIGEgcHJlcGFyYXJzaSBhIHRhZ2xpYXJlIGkgdGFzc2kgZGkgaW50ZXJlc3NlLgoKTGEgZGVjaXNpb25lIHN1aSB0YXNzaSBkaSBpbnRlcmVzc2UgZGVsbGEgRmVkZXJhbCBSZXNlcnZlIHNhcsOgIGFubnVuY2lhdGEgcXVlc3RvIGdpb3ZlZMOsIGUgUG93ZWxsIHRlcnLDoCB1bmEgY29uZmVyZW56YSBzdGFtcGEgc3VsbGEgcG9saXRpY2EgbW9uZXRhcmlhLiBTaSBwcmV2ZWRlIGNoZSBsYSBwb2xpdGljYSB2ZW5nYSB1bHRlcmlvcm1lbnRlIGNoaWFyaXRhLgoKPGRpdiBjbGFzcz0iYmxvZy1kZXRhaWxzLWluZm8iPgo8ZGl2PkF1dG9yZTo8c3Ryb25nPkNhcmwgWS48L3N0cm9uZz4sIFJpY2VyY2F0b3JlIGRpIEdhdGUuaW8KPGRpdj5UcmFkdXR0b3JlOiBKb3kgWi4KPGRpdiBjbGFzcz0iaW5mby10aXBzIj4qUXVlc3RvIGFydGljb2xvIHJhcHByZXNlbnRhIHNvbG8gbGUgb3BpbmlvbmkgZGVsIHJpY2VyY2F0b3JlIGUgbm9uIGNvc3RpdHVpc2NlIGFsY3VuIHN1Z2dlcmltZW50byBkaSBpbnZlc3RpbWVudG8uCjxkaXY+KiBHYXRlLmlvIHNpIHJpc2VydmEgdHV0dGkgaSBkaXJpdHRpIHN1IHF1ZXN0byBhcnRpY29sby4gU2Fyw6AgY29uc2VudGl0byBpbCByaXBvc3RhZ2dpbyBkZWxsJiMzOTthcnRpY29sbyBhIGNvbmRpemlvbmUgY2hlIHZlbmdhIGNpdGF0byBHYXRlLmlvLiBJbiB0dXR0aSBpIGNhc2ksIHNhcmFubm8gaW50cmFwcmVzZSBhemlvbmkgbGVnYWxpIHBlciB2aW9sYXppb25lIGRlbCBjb3B5cmlnaHQuCjwvZGl2PjxwPjwvcD4KPC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+