My4xMSBWZXJzaW9uOgpvIG1vZGluZm86IEZpeCBjcmFzaCBpZiBtb2R1bGUgcmVjZW50bHkgZGVsZXRlZCBmcm9tIHN5c3RlbSAoT3phbikKbyBtb2Rwcm9iZTogSGFuZGxlIGJ1aWx0LWluIG1vZHVsZXMgKE1pY2hhbCkKCjMuMTAgVmVyc2lvbjoKbyBtb2Rwcm9iZTogY2xlYW51cCBzb21lIG9wdGlvbiBoYW5kbGluZyAoQWxhbikKbyB0ZXN0c3VpdGU6IFJlYnVpbGQgYWxsIHRoZSB0ZXN0IG1vZHVsZXMgKDMyLzY0L2JlL2xlKSB0byBhdm9pZCBiaXRyb3QKCjMuOSBWZXJzaW9uOgpvIE5PVEU6IHRvb2xzIG5vdyBmYWlsIGxvdWRseSBpbiB0aGUgY2FzZSBvZiBub24tRUxGIGZpbGVzIGJlaW5nIHVzZWQKbyBlbGZvcHM6IHJlbmFtZSBtb2R1bGVvcHMgdG8gZWxmb3BzLCByZW1vdmUgc3RydWN0IG1vZHVsZSBmcm9tIGl0IChBbmRyZWFzKQpvIGRlcG1vZDogdmFyaW91cyBzeW1ib2wgbG9va3VwIGFuZCBkZXBlbmRlbmN5IGNhbGN1bGF0aW9uIGZpeGVzIChBbmRyZWFzKQpvIGRvYzogdmFyaW91cyBjbGVhbnVwIG9mIG1hbiBwYWdlcyAoUm9iYnkpCgozLjggVmVyc2lvbjoKbyBkb2M6IEZpeCBidWlsZCBkb2N1bWVudGF0aW9uCm8gemxpYjogYWxsb3cgZHluYW1pYyBsaW5raW5nIChNaWNoYWwpCgoKMy43IFZlcnNpb246Cm8gTk9URTogKioqIHN1cHBvcnQgZm9yIHByZS0yLjYga2VybmVscyB3YXMgcmVtb3ZlZCBpbiB0aGlzIHZlcnNpb24gKioqCm8gYmluZGV4OiBtb2R1bGVzLm9yZGVyIHN1cHBvcnQgYW5kIGZhbGxiYWNrIGluIGNhc2UgdHJpZSBpcyBvdXRkYXRlZCAoQWxhbikKbyBkZXBtb2Q6IGZpeCBpc19oaWdoZXJfcHJpb3JpdHkoKSAoTWljaGFsKQpvIGRlcG1vZDogb2ZmaWNpYWxseSBkaXNhbGxvdyBzcGVjaWZ5aW5nIG1vZHVsZXMgdXNpbmcgcmVsYXRpdmUgcGF0aHMgKEFsYW4pCm8gbGliOiBmaXggdW5kZXJzY29yZSBjb252ZXJzaW9uIChBbGFuKQpvIG1vZHByb2JlOiBwYXJzZSBlbXB0eSBvcHRpb25zIGNvcnJlY3RseQpvIHRlc3RzdWl0ZTogbG90cyBvZiByYW5kb20gZml4ZXMgYW5kIGNsZWFudXBzCgozLjYgVmVyc2lvbjoKbyBkZXBtb2Q6IG1ha2UgYnVpbGRpbmcgbWFwIGZpbGVzIG9wdGlvbmFsIChkb2VzIGFueW9uZSB1c2UgdGhlbSBhbnl3YXk/KQpvIGRlbW9kOiB1c2Ugc2hvcnRlbmVkIHBhdGggbmFtZXMgaW4gaW5kZXggZmlsZXMgKHJlbGF0aXZlIHBhdGhzIHVzZWQpCm8gbW9kcHJvYmU6IHVzZSAvc3lzL21vZHVsZSByYXRoZXIgdGhhbiAvcHJvYy9tb2R1bGVzIChBbmRyZWFzKQpvIG1vZHByb2JlOiByZW1vdmUgbGVnYWN5IHN1cHBvcnQgZm9yIHByZS0yLjYga2VybmVscyAoQW5kcmVhcykKbyBtb2Rwcm9iZTogY2hlY2sgdGhhdCBhc3ByaW50ZigpIGNhbGxzIGFjdHVhbGx5IGFsbG9jYXRlIChBbmRyZWFzKQoKMy41IFZlcnNpb246Cm8gYmluYXJ5IGluZGV4aW5nIGZpbGUgc3VwcG9ydCAoQWxhbiBKZW5raW5zKQpvIGRlcG1vZDogZml4IHNvbWUgbWVtb3J5IGxlYWtzLCByZWR1Y2Ugb3ZlcmhlYWQgKEFsYW4gSmVua2lucykKbyBtb2Rwcm9iZTogZml4IHNvbWUgbWVtb3J5IGxlYWtzLCByZWR1Y2Ugb3ZlcmhlYWQgKEFsYW4gSmVua2lucykKbyBybW1vZDogZml4IHNvbWUgbWVtb3J5IGxlYWtzIChBbGFuIEplbmtpbnMpCm8gdGVzdHN1aXRlOiB1cGRhdGUgdGhlIHRlc3RzIChBbGFuIEplbmtpbnMpCm8gdmFyaW91cyBvdGhlciBmaXhlcwoKMy40IFZlcnNpb246Cm8gbW9kcHJvYmU6IGFkZCBhYmlsaXR5IHRvIHBhcnNlIGtlcm5lbCBjb21tYW5kIGxpbmUgZm9yIG1vZHVsZSBvcHRpb25zLgoKMy4zIFZlcnNpb246Cm8gbW9kaW5mbzogYWRkIGEga2VybmVsIHBhcmFtZXRlciBmb3IgaW5mbyBvbiBtb2R1bGVzIHVzZWQgYnkgb3RoZXIga2VybmVscy4KbyBsc21vZDogbW9kcHJvYmU6IENvbW1lbnQgZml4ZXMgKHRoYW5rcyBTYXRvcnUgVGFrZXVjaGkpCm8gbW9kcHJvYmU6IGRvbid0IG1hbmdsZSAtIGluIHdpbGRjYXJkcyB3aXRoaW4gWyBdIChwYXRjaCBmcm9tIFNhbSBNb3JyaXMpCm8gbmV3IG1pbnRhaW5lcjogSm9uIE1hc3RlcnMgPGpjbUBqb25tYXN0ZXJzLm9yZz4KbyBzd2l0Y2ggdG8gdXNpbmcgZ2l0IGZvciBwcm9qZWN0IG1haW50YWluYW5jZQpvIG1pc2MuIG1lbW9yeSBsZWFrYWdlL2J1aWxkL2RvY3MgZml4ZXMgKEx1aXogRmVybmFuZG8gTi4gQ2FwaXR1bGlubykKbyBjb3JyZWN0IGVycm9yIGhhbmRsaW5nIGFuZCBpbnNtb2Quc3RhdGljIGhhbmRsaW5nIChUb2JpYXMgU3RvZWNrbWFubikKbyB2YXJpb3VzIG90aGVyIGZpeGVzIHRvIGJ1aWxkL2RldmVsb3BtZW50IHByb2Nlc3MuCgkKMy4yLjIgVmVyc2lvbjoKbyBkZXBtb2Q6IFRyeSB0byBnZW5lcmF0ZSBjb3JyZWN0IGlucHV0IHRhYmxlcyBmb3IgMi42LjE0IGFuZCBhYm92ZSAodGhhbmtzIHRvIHJlcG9ydCBmcm9tIFNjb3R0IEphbWVzIFJlbW5hbnQpCgozLjIuMSBWZXJzaW9uOgpvIGRlcG1vZDogbWFjaW8gZGV2aWNlIHN1cHBvcnQgKHBhdGNoIGZyb20gSmVmZiBNYWhvbmV5KQoKMy4yIFZlcnNpb246Cm8gZGVwbW9kOiBzZXJpbyBzdXBwb3J0IChwYXRjaCBmcm9tIERtaXRyeSBUb3Jva2hvdikKbyBtb2Rwcm9iZTogRml4IGxvYWQgYnkgc3ltYm9sICh0aGFua3MgdG8gTmF0aGFuIEx1dGNoYW5za3kpCm8gbW9kaW5mbzogSGFuZGxlIHBhcm10eXBlOiBmb3IgMi42LjExCm8gZGVwbW9kOiBoYW5kbGUgb3RoZXIgZW5kaWFuIChhbHJlYWR5IGhhbmRsZSA2NCAmIDMyIGJpdCkKbyBtb2Rwcm9iZSwgcm1tb2QsIGRlcG1vZDogY2hlY2sgZm9yIE9PTSAocGF0Y2ggZnJvbSBBbmRyZWFzIEdydWVuYmFjaGVyKQpvIGRlcG1vZDogZG9uJ3Qgc2tpcCBmaXJzdCBhcmd1bWVudCBmb3IgZXhwbGljaXQgZmlsZXMgKHBhdGNoIGZyb20gQW5kcmV3IFNuYXJlKQpvIGRlcG1vZDogaGFuZGxlIHJlbGF0aXZlIHBhdGhzIGluIGV4cGxpY2l0IGZpbGVzCm8gbW9kcHJvYmU6IGxvYWQgYWxsIG1hdGNoaW5nIGFsaWFzZXMgKGlkZWEgZnJvbSBEb21pbmlrIEJyb2Rvd3NraSkKbyBtb2Rwcm9iZTogbmV3IGJsYWNrbGlzdCBrZXl3b3JkIChwYXRjaCBmcm9tIEVyaWsgdmFuIEtvbmlqbmVuYnVyZykKbyBDT0RJTkc6IG5ldyBkb2N1bWVudCBkZXNjcmliaW5nIHRlc3RzdWl0ZQpvIE1ha2VmaWxlOiBpbmNsdWRlIHRlc3RzdWl0ZSBpbnNpZGUgYWxsIHNvdXJjZSByZWxlYXNlcwpvIG1vZHByb2JlOiBzbG93IGRvd24gbW9kcHJvYmUgd2l0aCBncmF0dWl0b3VzIHN0YXQgZm9yIFJlaXNlcjQgYnJhaW5kYW1hZ2UgKFJlcG9ydGVkIGJ5IEdlbnRvbykKbyBNYWtlZmlsZS5hbTogVXNlIEBtYW5kaXJALCB1bmxlc3MgaXQncyBqdXN0IHByZWZpeC9tYW5kaXIgKGRpc2N1c3Npb24gd2l0aCBKZXJlbXkgQy4gUmVlZCkKbyBBZGRlZCAkQ01ETElORV9PUFRTIHN1YnN0aXR1dGlvbiB0byBpbnN0YWxsIGNvbW1hbmRzLgpvIGRlcG1vZDogZG9uJ3QgZXhwbG9kZSBvbiBpbnZhbGlkIG1vZHVsZXMgKHBhdGNoIGZyb20gQmlsbCBOb3R0aW5naGFtKQpvIG1vZHByb2JlOiB1bmxvY2sgZmQgd2hlbiBtb2R1bGUgYWxyZWFkeSBpbiBrZXJuZWwgKGVpdGhlciBhIHJhY2UsIG9yIGEgcmVuYW1lKSAocGF0Y2ggZnJvbSBPbGl2ZXIgQmxpbiwgcmV3b3JrZWQpCm8gbW9kcHJvYmUuY29uZi5zZ21sOiBkb2Nib29rMm1hbiB1c2VzIGxhc3QgcmVmZW50cnl0aXRsZSBmb3Igb3V0cHV0IGZpbGUgKGZpeGVzIGVuZHVzZXJzIG5lZWRpbmcgZG9jYm9vayB1dGlscyBmb3IgYnVpbGQpCm8gbW9kcHJvYmU6IGZpeCBnY2MtMi45NSBjb21waWxhdGlvbiBieSBkZWNsYXJpbmcgdmFfbGlzdCBhdCB0b3Agb2Ygd2FybigpICh0aGFua3MgUmFmaXEgSXNtYWlsKQpvIG1vZHByb2JlOiBkb2NvIGZpeDogLWEgdGFrZXMgbW9kdWxlIG5hbWVzLCBub3Qgd2lsZGNhcmRzLgpvIGRlcG1vZCwgbW9kcHJvYmU6IGdjYyA0IHNpZ25lZG5lc3Mgd2FybmluZyBmaXhlcyAodGhhbmtzIHRvIE1hcmNvIGQnSXRyaSkKbyBtb2Rwcm9iZTogbG9jayBiZWZvcmUgc2VlaW5nIGlmIG1vZHVsZSBpbiBrZXJuZWwgKG1pZ2h0IGJlIGRvaW5nIGluaXQgbm93ISkKbyB0ZXN0c3VpdGU6IHVzZSAtLWxvZy1mZCAodmFsZ3JpbmQgMykgbm90IC0tbG9nZmlsZS1mZC4KbyBtb2Rwcm9iZTogc3BpbiB0byBhdm9pZCBwYXJhbGxlbCBsb2FkIGF0dGVtcHRzIHdoZW4gbG9jayBmYWlsZWQuICBGaXhlcyAidW5rbm93biBzeW1ib2xzIGZvciBlaGNpX2hjZCIgYnVnIHdpdGggcGFyYWxsZWwgdWRldiBvbiBybyByb290LiAgKFBhdGNoIGZyb20gUG96c2FyIEJhbGF6cykKCjMuMSBWZXJzaW9uOgpvIG1vZHByb2JlLCBybW1vZDogRml4IGZvcm1hdCBzdHJpbmcgKHRoYW5rcyB0byBTZXJnZXkgVmxhc292KQpvIG1vZGluZm86IHN1cHBvcnQgLW4sIGFuZCBieSBkZWZhdWx0IGRpc3BsYXkgZmlsZW5hbWUuCm8gbW9kcHJvYmU6IGFsbG93IC1vIHdpdGggLXIgdG8gcmVtb3ZlIHJlbmFtZWQgbW9kdWxlcyB3aXRoIGRlcHMgY29ycmVjdC4KbyBtb2Rwcm9iZTogZmFsbCBiYWNrIHRvIC9ldGMvbW9kcHJvYmUuZCBpZiBmYWlsIG9uIC9ldGMvbW9kcHJvYmUuY29uZi4KbyBtb2Rwcm9iZTogYWxsb3cgY29uZmlnIGZpbGVzIHRvIGJlIGRpcmVjdG9yaWVzLCBhbmQgcmVjdXJzZS4KbyBtb2Rwcm9iZTogRml4IHF1b3Rpbmcgb2YgY21kbGluZSBvcHRpb25zLgpvIGluc21vZDogcmVtb3ZlIHF1b3RlIGhhbmRsaW5nLCBzaW5jZSB3ZSBkaWRuJ3QgZG8gaXQgcmlnaHQuCm8gZGVwbW9kOiBpZ25vcmUgc3ltYm9scyAoZWcuIFBDSSBpZHMpIGluIEJTUyAocGF0Y2ggZnJvbSBNYXJjIEJvdWNoZXIpLgpvIGRlcG1vZDogZXhpdCBhZnRlciAtaC4KbyBtb2Rwcm9iZTogZmlsZSBsb2NraW5nIG9uIG1vZHVsZXMgdG8gYXZvaWQgc3B1cmlvdXMgZXJyb3JzIGlmIHRoZXkgcmFjZSAocmVwb3J0IGZyb20gTWFyYyBCb3VjaGVyKQpvIG1vZHByb2JlOiBGYWxsIGJhY2sgdG8gcmVhZC1vbmx5IChubyBsb2NraW5nKSBpZiBydyBvcGVuIG9uIG1vZHVsZSBmYWlscwpvIGRlcG1vZDogdXBkYXRlcy8gZGlyIG92ZXJyaWRlcyAoZm9yIFJILCB0aGFua3MgdG8gVGhvbWFzIFZhbmRlciBTdGljaGVsZSkKbyBkZXBtb2Q6IGRvbid0IGZvbGxvdyBzeW1saW5rcywgYnJva2VuIGluIHVwZGF0ZXMvIHJld29yayAodGhhbmtzIHRvIE1hcmNvIGQnSXRyaSkKbyBCYXNoaXNtcyByZW1vdmVkICh0aGFua3MgdG8gRGF2aWQgV2VpbmVoYWxsKQpvIG1vZGluZm86IHVzZSBtb2R1bGVzLmRlcCwgbm90IG1hbnVhbCBzZWFyY2gsIHNvIHdlIGdldCB1cGRhdGVzLyByaWdodC4KbyBGaXggbW9kaW5mbyBtYW5wYWdlIG1pc3Npbmcgd29yZCAodGhhbmtzIERlYmlhbikKbyBtb2Rwcm9iZS5kZXZmczogYWRkZWQgYXBtX2Jpb3MgZGV2aWNlcyAodGhhbmtzIERlYmlhbikKbyBtb2Rwcm9iZTogZG9uJ3QgZmF0YWwoKSBvbiBtaXNzaW5nIGluY2x1ZGVzICh0aGFua3MgRGViaWFuKQpvIG1vZHByb2JlOiBpbnN0YWxsL3JlbW92ZSBjb21tYW5kcyBtdXN0IG92ZXJyaWRlIG1vZHVsZXMuYWxpYXMgZmlsZS4KbyBGaXggbW9kcHJvYmUgbWFuIHBhZ2UgdG8gZG9jdW1lbnQgLS1zaG93LWRlcGVuZHMgYW5kIGluc3RhbGwgY29tbWFuZHMgKHJlcG9ydGVkIGJ5IEVyaWMgQy4gQ29vcGVyKQpvIEZpeCBtb2Rwcm9iZSBtYW4gcGFnZTogLXQgLWEgcmVtb3ZlZCBpbiAzLjAgKHJlcG9ydCBmcm9tIFRob21hcyBIb29kKQpvIERvY3VtZW50IG1vZHByb2JlLmQgaW4gbW9kcHJvYmUoLmNvbmYpIG1hbiBwYWdlIChyZXBvcnQgZnJvbSBTdGVmYW4gUmljaHRlcikKCQozLjAgVmVyc2lvbjoKbyBVcGRhdGUgbWlzc2luZyBzY3JpcHQgKHJlcG9ydCBmcm9tIFJvYmluIEdyaW5kbGV5KQpvICJkZXBtb2QgPHZlcnNpb24+IiBpbXBsaWVzIC1hIChyZXBvcnQgZnJvbSBSb2JpbiBHcmluZGxleSkKbyBtb2Rwcm9iZTogcmVtb3ZlIC10IHdpdGhvdXQgLWw6IGl0IGRpZG4ndCB3b3JrLCBzbyBvYnZpb3VzbHkgbm9vbmUgd2FzCgl1c2luZyBpdC4KbyBtb2Rwcm9iZTogQWxsb3cgIi1hIG1vZDEgbW9kMiIgKHJlcG9ydCBmcm9tIEZy6WTpcmljIEwuIFcuIE1ldW5pZXIpLgpvIG1vZHByb2JlOiBGaXhlZCBzaG9ydCBhbGxvYyBpbiBtZXJnZV9hcmdzLgpvIHRlc3RzdWl0ZTogcnVuIGV2ZXJ5dGhpbmcgdW5kZXIgdmFsZ3JpbmQuCm8gbW9kcHJvYmU6IGNoYW5nZSB0YWJzIHRvIHNwYWNlcyBpbiBtb2R1bGUgcGFyYW1ldGVycy4KbyBtb2Rwcm9iZTogZGVmaW5lIFNUVF9SRUdJU1RFUiBpZiBub3QgZGVmaW5lZCAocmVwb3J0IEJpbGwgTm90dGluZ2hhbSkKbyBtb2RpbmZvOiAtcCBtZWFucyAicGFybSIgbm90ICJwYXJhbSIgKHJlcG9ydCBmcm9tIFBldGVyIENvcmRlcykKbyBSbW1vZCBtYW4gcGFnZSBkZXNjcmlwdGlvbiBpcyB3cm9uZyAocmVwb3J0IGZyb20gUGF3ZWwpCm8gbW9kcHJvYmU6IGRvbid0IGFjY2VzcyBvZmYgZW5kIG9mIGFyZ3ZbXSB3aGVuICctYycgdXNlZC4KbyBkZXBtb2Q6IG1lcmdlZCBUYWthc2hpIEl3YWkncyBpc2FwbnAgdGFibGUgY29kZSAod2l0aCBjaGFuZ2VzKS4KbyBtb2Rwcm9iZS5jb25mLnNnbWw6IEluZGljYXRlIHRoYXQgY29tbWFuZCBpcyBhIHNoZWxsIGNvbW1hbmQuCm8gcm1tb2Q6IGV4aXQgd2l0aCBub24temVybyBvbiBhbnkgZmFpbHVyZSAodGhhbmtzIHRvIFNlcnVlIEhhbGx5ZW4pCm8gZ2VuZXJhdGUtbW9kcHJvYmUuY29uZjogZml4IHVwIGNoYXIgYW5kIGJsb2NrIGFsaWFzZXMKCSh0aGFua3MgdG8gT0dBV0EgSGlyb2Z1bWkpCm8gbW9kcHJvYmU6IEZpeCB3YXJuaW5nIGFib3V0IHBhc3NpbmcgKGFuZCBmaXggdGhhdCBmaXggdGhhbmtzIHRvIEtlaXRoIE1vb3JlKQpvIGRlcG1vZDogbWVyZ2VkIEFuZHJleSBCb3J6ZW5rb3YncyBpbnB1dCB0YWJsZSBjb2RlICh3aXRoIGNoYW5nZXMpLgpvIG1vZHByb2JlOiBpbnN0YWxsL3JlbW92ZSBjb21tYW5kcyBjYW4gYmUgd2lsZGNhcmRzLCBzZXQgJE1PRFBST0JFX01PRFVMRS4KbyBtb2Rwcm9iZTogaW5zZXJ0aW5nIGFscmVhZHktaW5zZXJ0ZWQgaXMgZmluZSwgYXMgaXMgcmVtb3ZpbmcgYWxyZWFkeS1yZW1vdmVkLgpvIG1vZHByb2JlOiBBZGQgLS1maXJzdC10aW1lIGZvciBvbGQgYmVoYXZpb3IKbyBnZW5lcmF0ZS1tb2Rwcm9iZS5jb25mOiBVc2UgLS1maXJzdC10aW1lIGZvciBhYm92ZSBhbmQgYmVsb3cgY29tbWFuZHMuCm8gRkFROiBGaXggZ2VuZXJhdGUtbW9kcHJvYmUuY29uZiBxdWVzdGlvbiAocmVwb3J0IGZyb20gTm9ybWFuIERpYW1vbmQpCm8gZ2VuZXJhdGUtbW9kcHJvYmUuY29uZjogRG9uJ3QgY29tcGxhaW4gYWJvdXQgY29tbW9uIChubyBsb25nZXIgcmVxdWlyZWQpIG9wdGlvbnMKbyBnZW5lcmF0ZS1tb2Rwcm9iZS5jb25mOiBQcmV2ZW50ICJtb2Rwcm9iZS5vbGQ6IGNvbW1hbmQgbm90IGZvdW5kIiBtZXNzYWdlLgpvIG1vZHByb2JlOiBmaXggc2VtYW50aWNzIG9mIC10IHRvIG1hdGNoIGFueSBkaXIgcGFydCAodGhhbmtzIHRvIFBhdWwgV2hpdHRha2VyKQpvIHRlc3RzdWl0ZTogdGVzdC1ybW1vZC8wNW5vcHJvYy5zaCByZWxpZXMgb24gbm90IGJlaW5nIHJvb3QgKHRoYW5rcyB0byBQaWVycmUpCm8gbW9kcHJvYmU6IGhhbmRsZSBpbmZpbml0ZSByZWN1cnNpb24gY2F1c2VkIGJ5IGFscmVhZHktaW5zZXJ0ZWQsIHdoZXJlCglkZXBlbmRlbmN5IGhhcyBpbnN0YWxsIGNvbW1hbmQgYnV0IGlzIGFscmVhZHkgaW5zdGFsbGVkICh0aGFua3MgdG8gVHJvbmQgTXlrbGVidXN0KQpvIGNvbmZpZ3VyZS5pbjogcmVtb3ZlIC1XY2FzdC1hbGlnbiwgZ2l2ZXMgd2FybmluZ3Mgb24gSUE2NCAodGhhbmtzIHRvCglBbmRyZXcgTW9ydG9uKS4gCm8gaW5zdGFsbC13aXRoLWNhcmU6IGRvbid0IGhhcmRjb2RlIC91c3IvYmluL2luc3RhbGwgKHRoYW5rcyBQaWVycmUpCm8gZ2VuZXJhdGUtbW9kcHJvYmUuY29uZjogaGFuZGxlICJhZGQiIGxpbmVzIGluIG1vZHVsZXMuY29uZgpvIG1vZHByb2JlOiAtcSBub3cgb25seSBtZWFucyAic2lsZW50bHkgc3VjY2VlZCBvbiB1bmtub3duIG1vZHVsZXMiLgpvIG1vZHByb2JlOiB1cGRhdGUgdXNhZ2UgbWVzc2FnZQpvIG1vZHByb2JlOiBmbHVzaCBzdGRvdXQgb24gdmVyYm9zZSwgc28gd2UgYWx3YXlzIHByaW50IGJlZm9yZSBjaGlsZHJlbi4KbyBydW50ZXN0czogY29udGludWUgYWZ0ZXIgKG9wdGlvbmFsKSB0ZXN0IG5hbWUuCm8gTWFrZWZpbGUuYW06IG1vdmVvbGQgY2hlY2tzIGZvciBhbHJlYWR5IGhhdmluZyBiZWVuIHJ1bi4KbyBkZXBtb2Q6IEhhbmRsZSAtQyBjb3JyZWN0bHkgKHRoYW5rcyBSaWNoYXJkIEhpcnN0KQpvIE1ha2VmaWxlLmFtOiAibWFrZSBjaGVjayIgc3VjY2VlZHMgaWYgbm8gdGVzdGNhc2UsIG9yIG5vIHZhbGdyaW5kLgpvIGRlcG1vZDogUmVtb3ZlIG5vbi13b3JraW5nIF9fc3RhcnQgYW5kIF9fc3RvcCBsb2dpYywgYW5kIGlnbm9yZSB1bmtub3duCgkiX0dMT0JBTF9PRkZTRVRfVEFCTEVfIiBmb3IgczM5MCAocGF0Y2ggZnJvbSBBcm5kIEJlcmdtYW5uKQpvIG1vZHByb2JlOiByZXZlcnQgImlubm9jdW91cyBjaGFuZ2UiIHRvIHNraXAgcmVzdCBvZiBkZXBlbmRzIG9uIGluc2VydGlvbiwKCWlmIHRoaXMgbW9kdWxlIGlzIGFscmVhZHkgaW4ga2VybmVsLiAgQnV0IGluIGEgZGVwZW5kcyBvbiBiIGFuZCBjLAoJYW5kIGIgaXMgYWxyZWFkeSBpbnNlcnRlZCwgd2Ugc2hvdWxkIG5vdCBza2lwIGluc2VydGluZyBjIQpvIGNvbmZpZ3VyZS5pbjogcmVtb3ZlIHVudXNlZCAkKHN0YXRfemxpYl9mbGFncykKbyBNYWtlZmlsZS5hbTogYnVpbGQgaW5zbW9kLnN0YXRpYyBwcm9wZXJseSB3aXRoIC0tZW5hYmxlLXpsaWIKCSh0aGFua3MgdG8gQW5keSBXYW5nKQpvIGdlbmVyYXRlLW1vZHByb2JlLmNvbmY6IGhhbmRsZSAiYWRkIGFsaWFzIHh4eCBvZmYiIGNvcnJlY3RseQoJKHRoYW5rcyB0byBNYXJ0aW4gU2NobGVtbWVyKQpvIG1vZHByb2JlLmM6IHJldmVydCAtcSBiZWhhdmlvdXI6IHNpbGVudCwgYnV0IGV4aXQgY29kZSAxLgoJCjAuOS4xNCBWZXJzaW9uOgpvIERvbid0IHVzZSBzeXNjYWxsIG1hY3JvcywgdXNlIGxpYmMgd3JhcHBlcnMgaW5zdGVhZAogIChwYXRjaCBmcm9tIE1hcmlhbiBKYW5jYXIpCm8gaW5zbW9kOiBBbGxvdyBtb2R1bGUgZnJvbSBzdGRpbiAoZWcuIHpjYXQgZm9vLmtvLmd6IHwgaW5zbW9kIC0pLgpvIGRlcG1vZDogUmVtb3ZlIG9sZCBjb21wYXQgY29kZSB0byByZWNvZ25pc2UgIi5vIiBhbmQgIi5rbG0iIGFzIG1vZHVsZXMuCm8gZGVwbW9kOiBJbXBsZW1lbnQgLUEgcHJvcGVybHkgKHpsaWIgaXMgdG9vIHNsb3cpLgpvIGRlcG1vZDogemxpYiBzdXBwb3J0LgpvIG1vZGluZm86IHpsaWIgc3VwcG9ydC4KbyBtb2RpbmZvOiBoYW5kbGUgLSB2cyBfIHdoZW4gc2VhcmNoaW5nIGZvciBtb2R1bGUuCm8gbW9kcHJvYmU6IHpsaWIgc3VwcG9ydC4KbyBtb2Rwcm9iZTogcmVtb3ZlIHVudXNlZCBmZCB2YXIgKHBhdGNoIGZyb20gQW5kcmV5IEJvcnplbmtvdikKbyBkZXBtb2Q6IGZpeCAua28uZ3ogc2hvcnQgbmFtZXMgaW4gdGFibGVzIChwYXRjaCBmcm9tIEFuZHJleSBCb3J6ZW5rb3YpCm8gY29uZmlndXJlLmluOiAtLW1vZGRpciAocGF0Y2ggZnJvbSBMdWNhcyBDb3JyZWlhIFZpbGxhIFJlYWwsIEdvYm9MaW51eCkKbyBtb2Rwcm9iZTogLXIgd2l0aCBtdWx0aXBsZSBhcmdzIChhcyBwZXIgbW9kdXRpbHMpIChidWcgZnJvbSBIYXJhbGQgRHVua2VsKQpvIG1vZHByb2JlOiBNYWtlIC1xIGlnbm9yZSB1bmtub3duIG1vZHVsZXMKbyBtb2Rwcm9iZTogTWFrZSAtcSBzdGlsbCBzZXQgZXhpdCB2YWx1ZSAoYnVnIGZyb20gSmFtaWUgTG9raWVyKS4KCQowLjkuMTMgVmVyc2lvbjoKbyBnZW5lcmF0ZS1tb2Rwcm9iZS5jb25mOiBBZGQgLS1zdGRpbiAocGF0Y2ggZnJvbSBCaWxsIE5vdHRpbmdoYW0pCm8gUkVBRE1FOiBTcGVsbGluZyBmaXggKHBhdGNoIGZyb20gQWxleCBHb2RkYXJkKQpvIG1vZHByb2JlOiBwcmludCBvcHRpb25zIG91dCBhZnRlciBtb2R1bGVzIGZvciAtLXNob3ctZGVwZW5kcywgYW5kCglwcmVmaXggd2l0aCAiaW5zbW9kIiAoaW4gY2FzZSB3ZSB3YW50IHRvIHNob3cgY29tbWFuZHMgbGF0ZXIpLgpvIG1vZHByb2JlOiBtYWtlIC0tc2hvdy1kZXBlbmRzIHNob3cgY29tbWFuZHMgKHByZWZpeDogaW5zdGFsbCkuCm8gQWx3YXlzIHVzZSBzeXNjYWxsKCkgaW4gYmFja3dhcmRzX2NvbXBhdC5jOiBvdGhlciBhcmNocyB3YW50IGl0LgpvIGRlcG1vZC5jOiBGaXggZmQgbGVhayBmb3IgZGVlcCBkaXJzIChwYXRjaCBmcm9tIEFyamFuIHZhbiBkZSBWZW4pCm8gbW9kcHJvYmUuc2dtbDogZG9jdW1lbnQgLW8vLS1uYW1lIG9wdGlvbi4KbyBtb2Rwcm9iZTogaW5jbHVkZSBmaWxlcyBhbGlhc2VzIHNob3VsZCBvdmVycmlkZTogbW9kcHJvYmUuZGV2ZnMgd2FudHMgdGhpcwoJc28gdXNlcnMgY2FuIG92ZXJyaWRlIChwYXRjaCBmcm9tIE1hcnRpbiBTY2hsZW1tZXIpCm8gZGVwbW9kOiBmaXggaGFuZGxpbmcgb2YgYmFkIGFyZ3MgKHJlcG9ydGVkIGJ5IEdvcmlrIFZhbiBTdGVlbmJlcmdlKQpvIGluc21vZDogZG8gLS12ZXJzaW9uLy1WCm8gZGVwbW9kOiBmaXggImFsbCBtb2R1bGVzIGFyZSBpbnNpZGUgbG9vcCIgY29ybmVyIGNhc2UKbyBkZXBtb2Q6IFRlbXBvcmFyeSBmaWxlIHRoZW4gbW92ZSAocGF0Y2ggZnJvbSBBbmRyZXkgQm9yemVua292KS4KbyBnZW5lcmF0ZS1tb2Rwcm9iZS5jb25mOiBBZGRlZCBzcGFjZSB0byBQUkVJTlNUQUxMIGFuZCBQUkVSRU1PVkUKCWJlZm9yZSBzZW1pY29sb24gKFBhdGNoIGZyb20gTWFyaWFuIEphbmNhcikKbyBpbnNtb2Q6IEJhY2t3YXJkcyBjb21wYXQgZm9yIGluc21vZC5zdGF0aWMsIHRvbyAoVGhhbmtzIHRvIE1hcmlhbiBKYW5jYXIpCgkKMC45LjEyIFZlcnNpb246Cm8gbW9kcHJvYmUuODogRG9jdW1lbnQgLS1zZXQtdmVyc2lvbiAoRGViaWFuIGJ1ZyAjMTg3MTIzLCB0aGFua3MgSGVyYmVydCkKbyBybW1vZC44OiBGaXggcmF3IGxzbW9kKDgpIHJlZmVyZW5jZXMgKHVzZSBwcm9wZXIgc2dtbCBtYXJrdXApLgpvIG1vZGluZm8uYywgcm1tb2QuYzogRml4IGluY2x1ZGVzIGZvciB3aGVuIG5vIGJhY2t3YXJkcyBjb21wYXQKCShUaGFua3MgdG8gQmlsbCBOb3R0aW5naGFtKS4KbyBNYWtlZmlsZS5hbTogbHNtb2Qub2xkIHN5bWxpbmsgZnJvbSAvYmluIHRvIC9zYmluIGluIG1vdmUtb2xkLXRhcmdldHMKbyBkZXBtb2Q6IHNwYXJjIGdjYyByZWdpc3RlciB2YXJpYWJsZSBmYWtlIHVuZGVmaW5lZCBmaXguCm8gTWFrZWZpbGUuYW06IEhhbmRsZSBNYW5kcmFrZSdzIC5iejIgbWFuIHBhZ2VzIChUaGFua3MgdG8gUGFvbG8gR2lhcnJ1c3NvKQpvIGRlcG1vZDogYmFja3dhcmRzIGNvbXBhdCBhdCAyLjUuNDgsIG5vdCAyLjUuNDcgKFRoYW5rcyB0byBNYXJ0aW4gU2NoaW1zY2hhaykKbyBkZXBtb2Q6IGllZWUxMzk0IHN1cHBvcnQgKFRoYW5rcyB0byBCZW4gQ29sbGlucykKbyBkZXBtb2Q6IHVwZGF0ZWQgdGVzdCBzdWl0ZSBmb3IgaWVlZTEzOTQKbyBNYWtlZmlsZTogbWFrZSBzeW1saW5rIGZyb20gL3NiaW4vbHNtb2QgdG8gL2Jpbi9sc21vZCBpZiB0aGF0J3Mgd2hlcmUgd2UncmUgZ29pbmcuCm8gbW9kaW5mbzogYWRkIG1hbnVhbCBwYWdlLgpvIG1vZHByb2JlOiAtLXNob3ctZGVwZW5kcyAoQXNrZWQgYnkgSGVyYmVydCBYdSBmb3IgbWtpbml0cmQpLgpvIGRlcG1vZDogU2ltcGx5IGFuZCBmaXggbG9vcCBkZXRlY3Rpb24gZm9yIG5vbi10cml2aWFsIGxvb3BzCgkKMC45LjExYSBWZXJzaW9uOgpvIE1ha2VmaWxlOiBkb2Nib29rMm1hbiBmaXggKFRoYW5rcyB0byBUZXJqZSBSb3N0ZW4pCm8gTWFrZWZpbGU6IG1ha2UgaW5zdGFsbCBtYW4gcGFnZXMgd29yayB3aXRoIGF1dG9jb25mIDEuNCAoVGhhbmtzIHRvIFRlcmplIFJvc3RlbikKCQowLjkuMTEgVmVyc2lvbjoKbyBnZW5lcmF0ZS1tb2Rwcm9iZS5jb25mOiBBdm9pZCAibW9kcHJvYmUgdmVyc2lvbiIgaW4gc3Rkb3V0LgpvIGdlbmVyYXRlLW1vZHByb2JlLmNvbmY6IEZpeCB0cmFuc2xhdGlvbiBvZiAib3B0aW9ucyBkdW1teTAgLW8gZHVtbXkwIgpvIG1vZHByb2JlOiBhZGQgLS1zZXQtdmVyc2lvbgpvIG1vZHByb2JlOiBBZGQgTU9EUFJPQkVfT1BUSU9OUyBlbnYuIHZhciwgYW5kIHVzZSBpdCB0byBwYXNzIHNvbWUgb3B0aW9ucy4KbyBGaXggbWFrZSBtb3Zlb2xkOiAoVGhhbmtzIHRvIFBhdmVsIFJvc2tpbiwgV2lsbCBTdGVwaGVuc29uKQpvIFJFQURNRTogTWVudGlvbiBtb2Rwcm9iZS5kZXZmcyBmb3IgZGV2ZnMgdXNlcnMgKFRoYW5rcyB0byBQYXZlbCBSb3NraW4pCm8gbHNtb2Q6IGJlbG9uZ3MgaW4gL2Jpbiwgbm90IC9zYmluIChUaGFua3MgdG8gTWFyY28gZCdJdHJpKQpvIE1ha2VmaWxlOiBjcmVhdGUgbWFuIGRpcmVjdG9yaWVzIChUaGFua3MgdG8gSm9obiBMZXZvbikKbyBNYWtlZmlsZTogbm8sIHVzZSBub3JtYWwgYXV0b21ha2UgKFRoYW5rcyB2LiBtdWNoIHRvIEpvaG4gTGV2b24pCm8gTWFrZWZpbGU6IGRvY2Jvb2sybWFuIHR3ZWFrcyBhbmQgY2xlYW51cHMgKFRoYW5rcyB0byBUZXJqZSBSb3N0ZW4pCm8gTWFrZWZpbGU6IGluY2x1ZGUgbWFuIHBhZ2VzIGluIGRpc3QsIGFuZCBjbGVhbiBpbiBtYWludGFpbmVyLWNsZWFuCgkoTWFydGluIFNjaGxlbW1lcidzIHJlcG9ydCkuCgkKMC45LjEwIFZlcnNpb246Cm8gbW9kcHJvYmU6IFJlbW92ZSBvbGQgLmdudS5saW5rb25jZS5tb2RuYW1lIHJlbmFtaW5nIGNvZGUKbyBtb2Rwcm9iZTogQWRkIC1xIGZsYWcuCm8gc3JwbTogaW5zdGFsbCBnZW5lcmF0ZS1tb2Rwcm9iZS5jb25mLCB0b28uCm8gaW5zdGFsbDogbW92ZSBrYWxsc3ltcyBhbmQga3N5bXMgYXMgd2VsbCB0byBwb2ludCB0byBpbnNtb2Qub2xkCgkoQW5kcmV3IE1vcnRvbidzIHJlcG9ydCkKbyBnZW5lcmF0ZS1tb2Rwcm9iZS5jb25mOiBkb24ndCB3b3JyeSBhYm91dCBpZiBzdGF0ZW1lbnRzOiBtb2Rwcm9iZSAtYwoJZXhwYW5kcyB0aGVtIGFscmVhZHkKbyBtb2Rwcm9iZTogTG9vayBmb3IgX19tb2R1bGUgc2VjdGlvbiBhcyB3ZWxsIGFzCgkuZ251LmxpbmtvbmNlLnRoaXNfbW9kdWxlIGluIHJlbmFtaW5nIGNvZGUuCm8gbW9kcHJvYmU6IG1vZHVsZXMuZGV2ZnNkIGhhbmRsaW5nLCB0b28gKHRoYW5rcyB0byBNYXJ0aW4gU2NobGVtbWVyKS4KbyBtb2Rwcm9iZS5kZXZmczogTmV3IGZpbGUgZm9yIGRldmZzIHBlb3BsZS4KbyBtb2Rwcm9iZTogSGFuZGxlIHZlcm1hZ2ljIGluIC5tb2RpbmZvIHNlY3Rpb24gYXMgd2VsbCBhcyBvd24gc2VjdGlvbi4KbyBkZXBtb2Q6IEhhbmRsZSBhbGlhc2VzIGluIC5tb2RpbmZvIHNlY3Rpb24gYXMgd2VsbCBhcyAubW9kYWxpYXMgc2VjdGlvbgpvIFdhcm5pbmdzIGFkZGVkIHRvIGJ1aWxkIHByb2Nlc3MuCm8gbW9kaW5mbzogbmV3IGJpbmFyeQpvIG1vZGluZm86IG5ldyB0ZXN0Y2FzZXMKbyBnZW5lcmF0ZS1tb2Rwcm9iZS5jb25mOiBoYW5kbGUgbWlzc2luZyBta3RlbXAKCQowLjkuOSBWZXJzaW9uOgpvIEluc3RhbGwgZ2VuZXJhdGUtbW9kcHJvYmUuY29uZiwgdG9vLgpvIFN0YXJ0IGFuIEZBUQpvIGdlbmVyYXRlLW1vZHByb2JlLmNvbmY6IHVzZSBta3RlbXAgd2l0aCBhbiBhcmcgKEx1dWsgdmFuIGRlciBEdWltJ3MgcmVwb3J0KQpvIFJpY2hhcmQgSGVuZGVyc29uJ3Mgd2VhayBzeW1ib2wgc3VwcG9ydC4KbyBBbnRvbidzIC5mb28gPT0gZm9vIHN1cHBvcnQgZm9yIFBQQzY0LgpvIC0tZm9yY2UgZm9yIHJlbW92aW5nIHZlcnNpb24gaW5mb3JtYXRpb24KbyBnZW5lcmF0ZS1tb2Rwcm9iZS5jb25mOiBmaXggb25lIGFyZyB1c2FnZSAoQnVnIGZyb20gRGF2aWQgdmFuIEhvb3NlKQpvIGdlbmVyYXRlLW1vZHByb2JlLmNvbmY6IGFkZCA7IGluc2lkZSB7IH0gKGZyb20gTWFydGluIFNjaGxlbW1lcikKbyBLYWkncyAtLWZvcmNlLXZlcnNpb24gcGF0Y2gsIG1vZGlmaWVkLgpvIFppYnggVmVyaXR1c2UncyBtdWx0aXBsZSB3aGl0ZXNwYWNlIGluIHBhcnNlciBwYXRjaC4KbyBkZXBtb2Q6IEhhbmRsZSBzdHJpbmdzIGZvciBHUEwgaW4gc2VwYXJhdGUgc2VjdGlvbiwgdG9vLgpvIGxzbW9kOiByZW1vdmUgZG91YmxlIHVuaXN0ZCBpbmNsdWRlIChCdWcgZnJvbSBEZW5uaXMgU2NodWx6KQpvIG1vZHByb2JlOiBEb2N1bWVudCAtLWZvcmNlKiBhbmQgLXMKCQowLjkuOCBWZXJzaW9uOgpvIFVzZSBkb2Nib29rMm1hbiBpZiBkb2Nib29rLXRvLW1hbiBub3QgZm91bmQgKFdhcnJlbiBUb2dhbWkncyBidWcgcmVwb3J0KSAKbyBJbXBsZW1lbnQgLXMgaW4gbW9kcHJvYmUKbyBJZiBzdGRlcnIgaXMgbm90IG9wZW4sIGFjdCBhcyBpZiAiLS1zeXNsb2ciIHdhcyBnaXZlbi4KbyBSZW1vdmUgZG9jdW1lbnRhdGlvbiBhYm91dCBhbGlhc2VzIG5vdCBvdmVycmlkaW5nIHJlYWwgbW9kdWxlcy4KbyBBZGQgc3VwcG9ydCBmb3IgbW9kdWxlcy5hbGlhcyBhbmQgbW9kdWxlcy5zeW1ib2xzIHRvIGRlcG1vZCBhbmQgbW9kcHJvYmUuCm8gRml4IGhhbmRsaW5nIG9mIGVycm9ycyBpbiBtb2Rwcm9iZS5jb25mIChSb2dlciBMdWV0aGkncyBidWcgcmVwb3J0KQpvIFBldHIgVmFuZHJvdmVjJ3MgX19ncGxfa3N5bXRhYiBmaXguCgkKMC45LjcgVmVyc2lvbjoKbyBNYW4gcGFnZXMKbyBtb2R1bGVzLmNvbmYybW9kcHJvYmUuY29uZiAiYWJvdmUiIGFuZCAiYmVsb3ciIHN1cHBvcnQuCm8gU2lsbHkgdHlwbyBpbiBmaWxlbmFtZSB0byBtb2RuYW1lIGNvbnZlcnNpb24uCm8gRG91YmxlIGZyZWUgZml4IChNYXJjbyBkJ0l0cmkpCm8gQWRkIC0tZHJ5LXJ1biBhcyBzeW5vbnltIGZvciAtLXNob3cgZXZlcnl3aGVyZS4KbyBDaGFuZ2UgYmFja3dhcmRzIGNvbXBhdCB0ZXN0IHRvIHN5c19jcmVhdGVfbW9kdWxlKE5VTEwsIDApICE9IC1FTk9TWVMsCiAgZm9yIHBlb3BsZSB3aG8gd2FudCAvcHJvYy9rc3ltcy4KbyBtb2R1bGVzLmNvbmYybW9kcHJvYmUuY29uZiByZW5hbWVkIHRvIGdlbmVyYXRlLW1vZHByb2JlLmNvbmYsIHVzZXMKICBtb2Rwcm9iZSAtYyB0byBnZXQgYnVpbHQtaW5zIGFzIHdlbGwuCgkKMC45LjYgVmVyc2lvbjoKbyBGaXggYWxpYXNlcyB1c2luZyAtIGFuZCBfICh0aGFua3MgdG8gUm9nZXIgTHVldGhpKQpvIEF1ZGl0IGZvciBtb3JlIF8gLSBjb21wYXJpc29uczogY2Fub25pY2FsaXplIGF0IGlucHV0LgpvIEZpeCAiaW5jbHVkZSBvdmVycmlkZXMgYWxpYXMiIGJ1ZyBmb3VuZCBkdXJpbmcgYXVkaXQuCm8gVGVzdHN1aXRlIGFkZGVkCm8gbHNtb2QgaWdub3JlcyB0cmFpbGluZyAobmV3LXN0eWxlKSBlbnRyaWVzIGluIC9wcm9jL21vZHVsZXMsIGFuZCBkZWxldGVzICwuCm8gbWVzc2FnZSBzZWdmYXVsdCBkdWUgdG8gcmV1c2luZyB2YXJhcmdzIGZpeGVkLgpvIEdpdmUgMCBleGl0IHN0YXR1cyB3aXRoIC0tZHJ5LXJ1biB3aXRoIHdpbGRjYXJkcyAoUm9nZXIgTHVldGhpJ3MgYnVnIHJlcG9ydCkKbyBBZGQgLS1hbGwgb3B0aW9uIChSb2dlciBMdWV0aGkncyBidWcgcmVwb3J0KQpvIEZpeCBkb3VibGUtaW5zZXJ0IHByb2JsZW0gY2F1c2VkIGJ5IHN5bWxpbmtzIChSb2dlciBMdWV0aGkncyBidWcgcmVwb3J0KQpvIElnbm9yZSB1bmRlZmluZWQgX19zdGFydF8gYW5kIF9fc3RvcF8gYXMgZnV0dXJlIGtlcm5lbCBtaWdodC4KbyBSZXBvcnQgbG9vcHMgb25seSBvbmNlLgpvIEZpeCBjb21wbGV4IGR1cGxpY2F0ZSBlbGltaW5hdGlvbiBoYW5kbGluZy4KbyBJbXBsZW1lbnRlZCAtLWlnbm9yZS1jb21tYW5kIGluIG1vZHByb2JlCm8gSW1wbGVtZW50ZWQgInJlbW92ZSIgaW4gbW9kcHJvYmUncyBtb2Rwcm9iZS5jb25mIHBhcnNpbmcuCm8gRG9uJ3QgZGllIGlmIC9wcm9jL21vZHVsZXMgY2FuJ3QgYmUgb3BlbmVkLgpvIE1vZHByb2JlIC1yIGNoZWNrcyBmb3IgaW4tdXNlIG1vZHVsZXMgYmVmb3JlIHRyeWluZy4KbyBXYXJuIGFib3V0IGxpbmVzIGluIG1vZHByb2JlLmNvbmYgd2hpY2ggYXJlbid0IHVuZGVyc3Rvb2QuCm8gUmVtb3ZlIGV4dHJhIHNwYWNlcyBpbiBvcHRpb25zIGdlbmVyYXRlZCBieSBtb2Rwcm9iZS4KbyBFeHRyYWN0IDY0LzMyIG1vZHVsZW9wcyBpbnRvIGNvbW1vbiBjb2RlLgpvIFJlaW1wbGVtZW50ZWQgd2lsZGNhcmQgYWxpYXNlcy4KbyBIb3JyaWJsZSB3b3JrYXJvdW5kIGZvciBkZXZmc2QuCm8gRml4IGhhbmRsaW5nIG9mIHdpbGRjYXJkcyBpbiBtb2R1bGVzLmNvbmYybW9kcHJvYmUuY29uZgoKMC45LjUgVmVyc2lvbjoKbyBGaXggYm9ndXMgY29tcGFyZSBjb2RlIHdoZXJlICJtb2Rwcm9iZSB0dW5lciIgbG9hZGVkIHR1biBtb2R1bGUKICAoVGhhbmtzIHRvIE1hcmNvIGQnSXRyaSdzIGJ1ZyByZXBvcnQpLgpvIEhhbmRsZSBydGgtc3R5bGUgbW9kdWxlcyBpbiBtb2Rwcm9iZSBuYW1lY2hhbmdlIGNvZGUuCm8gTWFyY28gZCdJdHJpJ3MgcGF0Y2ggdG8gY29ycmVjdCBxdW90ZXMKbyBNYXJjbyBkJ0l0cmkncyBwYXRjaCB0byBpbXBsZW1lbnQgLUEuCm8gRml4ZWQgcm1tb2QncyBtZXNzYWdlIHdoZW4gbm8gdW5sb2FkIHN1cHBvcnQuCm8gRml4IGJhY2t3YXJkcyBjb21wYXQgcmVjdXJzaW9uIHByb3RlY3Rpb24gdG8gY29tcGFyZSBQSURzIChQZXRyIFZhbmRyb3ZlYykKbyBJbXBsZW1lbnQgLUYgYW5kIC1lLgpvIFR3ZWFrIG1lc3NhZ2Ugd2hlbiBpbnZhbGlkIHBhcmFtZXRlciBnaXZlbiAoUm9nZXIgTHVldGhpJ3MgcmVwb3J0KQoJCjAuOS40IFZlcnNpb24KbyBJbXBsZW1lbnQgbG9vcCBkZXRlY3Rpb24gYW5kIGR1cGxpY2F0ZSBlbGltaW5hdGlvbiAodGhhbmtzIHRvIEplZmYKICBDaHVhJ3MgaWRlLmtvIC8gaWRlLWlvLmtvIGJ1ZyByZXBvcnQpCm8gRml4IHN0cmVzc19tb2R1bGVzLnNoIHNjcmlwdCBmb3IgbmV3IG5hbWVzIGFuZCBkaXIgbGF5b3V0Cm8gVXBkYXRlZCBSRUFETUUgdG8gcHV0IGF1dG9jb25mIGF0IHRoZSBib3R0b20gKG1vc3QgcGVvcGxlIGRvbid0IG5lZWQgaXQpCm8gSW1wbGVtZW50ZWQgLXYgaW4gZGVwbW9kCm8gSW1wbGVtZW50ZWQgLWwgYW5kIC10IGluIG1vZHByb2JlLgpvIEltcGxlbWVudGVkIC1hIGluIG1vZHByb2JlLgpvIFJlbW92ZWQgZ3JhdHVpdG91cyBjb25maWd1cmUuaW4gdGFyZ2V0IHRlc3QgKHdlIGRvIDY0LzMyIGR5bmFtaWNhbGx5KQpvIEFkYW0gUmljaHRlcidzIGRlcG1vZCBwYXRjaCB0byB0cmF2ZXJzZSBhYm92ZSBrZXJuZWwvIGRpci4KbyBGaXggLXIgdG8gYmUgcHJvcGVybHkgaWdub3JlZCAoQ2hyaXMgQ2hlbmV5J3MgYnVnIHJlcG9ydCkKCjAuOS4zIFZlcnNpb24KbyBGaXggbW9kcHJvYmUgLXIgb3JkZXJpbmcgKHRyaWVkIHRvIHJlbW92ZSBiYWNrd2FyZHMpIChKaW0gUmFkZm9yZCdzIHJlcG9ydCkKbyBEYXZpZCBCcm93bmVsbCdzIGV4dHJhIHJtbW9kIG9wdGlvbnMgKG1vZGlmaWVkKQoKMC45LjIgVmVyc2lvbgpvIE1hdHRoaWV1IFZlcmJlcnQgPG12ZUB6dXJpY2guaWJtLmNvbT4ncyBvYmpkaXIgIT0gc3JjZGlyIGluc3RhbGwgZml4LgpvIEZpeGVkIGluc21vZCBvcHRpb24gaWdub3JlcyAoUGV0ciBWYW5kcm92ZWMncyBidWcgcmVwb3J0KQpvIEFybmQgQmVyZ21hbm4gPGFybmRAYmVyZ21hbm4tZGFsbGRvcmYuZGU+J3MgbW9kdWxlcy5jY3dtYXAgaW1wbGVtZW50YXRpb24uCm8gSmltIFJhZGZvcmQgPHJhZGZvcmRAYmxhY2tiZWFuLm9yZz4ncyBtb2Rwcm9iZSAtciBpbXBsZW1lbnRhdGlvbi4KCQowLjkuMSBWZXJzaW9uCm8gSW5jbHVkZSBpbnN0YWxsLXdpdGgtY2FyZSBzY3JpcHQgaW4gZGlzdAoKMC45IFZlcnNpb24KbyBBZGRlZCBpbnN0YWxsLXdpdGgtY2FyZSBzY3JpcHQgdG8gY2hlY2sgd2UncmUgbm90IGRlc3Ryb3lpbmcgb2xkIHV0aWxzCm8gU3BsaXQgbW92ZW9sZCBpbnRvIHR3byB0YXJnZXRzIGZvciBnZW50b28KbyBEb24ndCB1c2UgcmVhZGxpbmsgaW4gbW92ZW9sZDogUkg4LjAgZG9lc24ndCBoYXZlIGl0IGJ5IGRlZmF1bHQKbyBGaXggaWE2NCBfc3lzY2FsbDUgcHJvYmxlbSAodW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX19pYTY0X3N5c2NhbGwnKQoJCjAuOS1hbHBoYSBWZXJzaW9uCm8gRml4ZWQgcGF0Y2ggaW4gTkVXUyB0byBsZWF2ZSAjaW5jbHVkZSBsaW51eC9lbGYuaCwgbmVlZGVkIGZvcgogIENPTkZJR19LQUxMU1lNUy4KbyBGaXhlZCBleHRyYSBuZXdsaW5lIGluICJpbiB1c2UgYnkiIG1lc3NhZ2UuCm8gRml4ZWQgcGFyc2luZyBmb3IgbmV3LXN0eWxlIC9wcm9jL21vZHVsZXMuCm8gRml4ZWQgdmVyc2lvbiBwYXJzaW5nIGNvZGUgKHRoYW5rcyB0byBBZGFtIFJpY2h0ZXIncyByZXBvcnQpCm8gRml4ZWQgInJ1bm5pbmcgb3V0IG9mIGZpbGVkZXNjcmlwdG9ycyIgKEFkYW0gUmljaHRlcikJCm8gSW1wbGVtZW50ZWQgb3B0aW9ucyBpbiBtb2Rwcm9iZQpvIEltcGxlbWVudGVkIGluc3RhbGwgaW4gbW9kcHJvYmUKbyBJbXBsZW1lbnRlZCBvcHRpb25zIGluIG1vZHVsZXMuY29uZjJtb2Rwcm9iZS5jb25mCm8gSW1wbGVtZW50ZWQgaW5zdGFsbCBpbiBtb2R1bGVzLmNvbmYybW9kcHJvYmUuY29uZgpvIEltcGxlbWVudGVkIHByb2JlYWxsIGluIG1vZHVsZXMuY29uZjJtb2Rwcm9iZS5jb25mCm8gSW1wbGVtZW50ZWQgcHJvYmUgaW4gbW9kdWxlcy5jb25mMm1vZHByb2JlLmNvbmYKbyBDaGFuZ2VkIG1vZHByb2JlIHZlcnNpb24gdG8gYmUgY29uc3RhbnQgc3RyaW5nLCBmb3IgInN0cmluZ3MiIHRvIHdvcmsgZWFzaWx5LgoJCjAuOGEgVmVyc2lvbgpvIEZpeGVkIGVycm9uZW91cyB3YXJuaW5nIG9uIHJtbW9kIHNheWluZyBpdCBkaWRuJ3QgZmluZCBtb2R1bGUgaW4KICAvcHJvYy9tb2R1bGVzCgkKMC44IFZlcnNpb24KbyBDaHJpcyBDaGVuZXkncyBhdXRvbWFrZSBwYXRjaApvIEFkYW0gSi4gUmljaHRlcidzICJ1c2UgZGVwbW9kIiBwYXRjaCAoc2ltcGxpZmllcyBhbGlhc2VzLCBoYW5kbGVzIGluY2x1ZGUpCm8gQ2xlYW5lZCB1cCBlcnJvciBoYW5kbGluZyBhIGxpdHRsZQpvIEltcGxlbWVudGVkIC0tbmFtZS8tbyB0byBjaGFuZ2UgbW9kdWxlIG5hbWUgKHJlcXVpcmVzIEthaSdzIG1vZG5hbWUgcGF0Y2gpCm8gRGF2aWQgSGFyZGVtYW4ncyBkdW1teSBvcHRpb25zIHBhdGNoIGZvciBEZWJpYW4uCm8gVXBkYXRlZCB2ZXJzaW9uIG51bWJlciAodGhhbmtzIHRvIERhdmlkIEhhcmRlbWFuKS4KbyBGaXggInNiaW4gbm90IGluIHBhdGgiIC5vbGQgZXhlYyBwcm9ibGVtLgpvIFJlbW92ZSBhc3N1bXB0aW9ucyBhYm91dCBtb2R1bGUgZXh0ZW5zaW9uLgpvIEFkZGVkICJsaW5rcyIgYW5kICJtb3Zlb2xkIiB0YXJnZXRzLCBhbmQgbGVhdmUgdXNpbmcgdGhlbSB0byB0aGUgdXNlci4KbyBJbXBsZW1lbnRlZCBuZXcgZGVwbW9kIHdoaWNoIHdvcmtzIHdpdGggY3VycmVudCBrZXJuZWxzLCBjYWxscyBvbGQKICBvbmUgZm9yIHByZXZpb3VzIGtlcm5lbHMuCm8gRmlyc3QgY3V0IG9mIG1vZHVsZXMuY29uZjJtb2Rwcm9iZS5jb25mCm8gSW1wbGVtZW50ZWQgZHVtbXkgaW5zbW9kIC1wLCAtcyBhbmQgLWYgb3B0aW9ucywgcmVxdWVzdGVkIGJ5IFBldHIgVmFuZHJvdmVjCgowLjdhIFZlcnNpb24KbyA2NC8zMiBiaXQgYXV0b2RldGVjdGlvbiB0aGFua3MgdG8gRGF2ZSBNaWxsZXIKbyBQcmVsaW1pbmFyeSBhbGlhcyBzdXBwb3J0LgpvIFZlcnkgcHJpbWl0aXZlIC9ldGMvbW9kcHJvYmUuY29uZiBzdXBwb3J0Cm8gRml4IGZvciAicm1tb2QgaWRlLWNkIiAoYnVnIGZyb20gSmVucyBBeGJvZSkKbyBPcHRpb25zIGFyZ3MgZm9yIG1vZHByb2JlCg==