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BAkJZExkC2QMhAFaB2QNZA6EAFoIZA9kEIQAWglkEWQShABaCmULZBNkFIQAgwFaDGULZBVkFoQAgwFaDWQXZBiEAFoOZBlkGoQAWg9kG2QchABaEGQdZB6EAFoRZRJlE2oUZgJaFWUFZAR1AXJkZRVlBWoUZgE3AFoVZB9kIIQAWhZkIWQihABaF2UYZCNkJIQAgwFaGWQlZCaEAFoaZE1kJ2QohAFaG2ROZCpkK4QBWhxlHWQsZC2EAIMBWh5kLmQvhABaH2RPZDBkMYQBWiBkMmQzhABaIWQ0ZDWEAFoiZQtkNmQ3hACDAVojZDhkOYQAWiRkOmQ7hABaJWQ8ZD2EAFomZD5kP4QAWidkQGRBhABaKGRCZEOEAFopZERkRYQAWipkUGRGZEeEAVorZEhkSYQAWixkSmRLhABaLWQEUwApUdoMSFRUUFJlc3BvbnNlYeEEAAAKICAgIEhUVFAgUmVzcG9uc2UgY29udGFpbmVyLgoKICAgIEJhY2t3YXJkcy1jb21wYXRpYmxlIHdpdGggOmNsYXNzOmBodHRwLmNsaWVudC5IVFRQUmVzcG9uc2VgIGJ1dCB0aGUgcmVzcG9uc2UgYGBib2R5YGAgaXMKICAgIGxvYWRlZCBhbmQgZGVjb2RlZCBvbi1kZW1hbmQgd2hlbiB0aGUgYGBkYXRhYGAgcHJvcGVydHkgaXMgYWNjZXNzZWQuICBUaGlzCiAgICBjbGFzcyBpcyBhbHNvIGNvbXBhdGlibGUgd2l0aCB0aGUgUHl0aG9uIHN0YW5kYXJkIGxpYnJhcnkncyA6bW9kOmBpb2AKICAgIG1vZHVsZSwgYW5kIGNhbiBoZW5jZSBiZSB0cmVhdGVkIGFzIGEgcmVhZGFibGUgb2JqZWN0IGluIHRoZSBjb250ZXh0IG9mIHRoYXQKICAgIGZyYW1ld29yay4KCiAgICBFeHRyYSBwYXJhbWV0ZXJzIGZvciBiZWhhdmlvdXIgbm90IHByZXNlbnQgaW4gOmNsYXNzOmBodHRwLmNsaWVudC5IVFRQUmVzcG9uc2VgOgoKICAgIDpwYXJhbSBwcmVsb2FkX2NvbnRlbnQ6CiAgICAgICAgSWYgVHJ1ZSwgdGhlIHJlc3BvbnNlJ3MgYm9keSB3aWxsIGJlIHByZWxvYWRlZCBkdXJpbmcgY29uc3RydWN0aW9uLgoKICAgIDpwYXJhbSBkZWNvZGVfY29udGVudDoKICAgICAgICBJZiBUcnVlLCB3aWxsIGF0dGVtcHQgdG8gZGVjb2RlIHRoZSBib2R5IGJhc2VkIG9uIHRoZQogICAgICAgICdjb250ZW50LWVuY29kaW5nJyBoZWFkZXIuCgogICAgOnBhcmFtIG9yaWdpbmFsX3Jlc3BvbnNlOgogICAgICAgIFdoZW4gdGhpcyBIVFRQUmVzcG9uc2Ugd3JhcHBlciBpcyBnZW5lcmF0ZWQgZnJvbSBhbiA6Y2xhc3M6YGh0dHAuY2xpZW50LkhUVFBSZXNwb25zZWAKICAgICAgICBvYmplY3QsIGl0J3MgY29udmVuaWVudCB0byBpbmNsdWRlIHRoZSBvcmlnaW5hbCBmb3IgZGVidWcgcHVycG9zZXMuIEl0J3MKICAgICAgICBvdGhlcndpc2UgdW51c2VkLgoKICAgIDpwYXJhbSByZXRyaWVzOgogICAgICAgIFRoZSByZXRyaWVzIGNvbnRhaW5zIHRoZSBsYXN0IDpjbGFzczpgfnVybGxpYjMudXRpbC5yZXRyeS5SZXRyeWAgdGhhdAogICAgICAgIHdhcyB1c2VkIGR1cmluZyB0aGUgcmVxdWVzdC4KCiAgICA6cGFyYW0gZW5mb3JjZV9jb250ZW50X2xlbmd0aDoKICAgICAgICBFbmZvcmNlIGNvbnRlbnQgbGVuZ3RoIGNoZWNraW5nLiBCb2R5IHJldHVybmVkIGJ5IHNlcnZlciBtdXN0IG1hdGNoCiAgICAgICAgdmFsdWUgb2YgQ29udGVudC1MZW5ndGggaGVhZGVyLCBpZiBwcmVzZW50LiBPdGhlcndpc2UsIHJhaXNlIGVycm9yLgogICAgclcAAADaB2RlZmxhdGVOclgAAAApBWktAQAAaS4BAABpLwEAAGkzAQAAaTQBAADaAHIBAAAAVEZjEgAAAAAAAAAAAAAAFAAAAAQAAABDAAAAcxwBAAB0AHwCdAGDAnIJfAJ8AF8CbgV0AXwCgwF8AF8CfAN8AF8DfAR8AF8EfAV8AF8FfAZ8AF8GfAh8AF8HfA18AF8IfA58AF8JfBF8AF8KZAB8AF8LZAB8AF8MZAB8AF8NfAl8AF8OZAF8AF8PfAx8AF8QfBB8AF8RfAFy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