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TGQLZAyEAVoHZA1kDoQAWghkD2QQhABaCWQRZBKEAFoKZQtkE2QUhACDAVoMZQtkFWQWhACDAVoNZBdkGIQAWg5kGWQahABaD2QbZByEAFoQZB1kHoQAWhFlEmUTahRmAloVZQVkBHUBcqZlFWUFahRmATcAWhVkH2QghABaFmQhZCKEAFoXZRhkI2QkhACDAVoZZCVkJoQAWhpkTWQnZCiEAVobZE5kKmQrhAFaHGUdZCxkLYQAgwFaHmQuZC+EAFofZE9kMGQxhAFaIGQyZDOEAFohZDRkNYQAWiJlC2Q2ZDeEAIMBWiNkOGQ5hABaJGQ6ZDuEAFolZDxkPYQAWiZkPmQ/hABaJ2RAZEGEAFooZEJkQ4QAWilkRGRFhABaKmRQZEZkR4QBWitkSGRJhABaLGRKZEuEAFotZARTAClR2gxIVFRQUmVzcG9uc2Vh4QQAAAogICAgSFRUUCBSZXNwb25zZSBjb250YWluZXIuCgogICAgQmFja3dhcmRzLWNvbXBhdGlibGUgd2l0aCA6Y2xhc3M6YGh0dHAuY2xpZW50LkhUVFBSZXNwb25zZWAgYnV0IHRoZSByZXNwb25zZSBgYGJvZHlgYCBpcwogICAgbG9hZGVkIGFuZCBkZWNvZGVkIG9uLWRlbWFuZCB3aGVuIHRoZSBgYGRhdGFgYCBwcm9wZXJ0eSBpcyBhY2Nlc3NlZC4gIFRoaXMKICAgIGNsYXNzIGlzIGFsc28gY29tcGF0aWJsZSB3aXRoIHRoZSBQeXRob24gc3RhbmRhcmQgbGlicmFyeSdzIDptb2Q6YGlvYAogICAgbW9kdWxlLCBhbmQgY2FuIGhlbmNlIGJlIHRyZWF0ZWQgYXMgYSByZWFkYWJsZSBvYmplY3QgaW4gdGhlIGNvbnRleHQgb2YgdGhhdAogICAgZnJhbWV3b3JrLgoKICAgIEV4dHJhIHBhcmFtZXRlcnMgZm9yIGJlaGF2aW91ciBub3QgcHJlc2VudCBpbiA6Y2xhc3M6YGh0dHAuY2xpZW50LkhUVFBSZXNwb25zZWA6CgogICAgOnBhcmFtIHByZWxvYWRfY29udGVudDoKICAgICAgICBJZiBUcnVlLCB0aGUgcmVzcG9uc2UncyBib2R5IHdpbGwgYmUgcHJlbG9hZGVkIGR1cmluZyBjb25zdHJ1Y3Rpb24uCgogICAgOnBhcmFtIGRlY29kZV9jb250ZW50OgogICAgICAgIElmIFRydWUsIHdpbGwgYXR0ZW1wdCB0byBkZWNvZGUgdGhlIGJvZHkgYmFzZWQgb24gdGhlCiAgICAgICAgJ2NvbnRlbnQtZW5jb2RpbmcnIGhlYWRlci4KCiAgICA6cGFyYW0gb3JpZ2luYWxfcmVzcG9uc2U6CiAgICAgICAgV2hlbiB0aGlzIEhUVFBSZXNwb25zZSB3cmFwcGVyIGlzIGdlbmVyYXRlZCBmcm9tIGFuIDpjbGFzczpgaHR0cC5jbGllbnQuSFRUUFJlc3BvbnNlYAogICAgICAgIG9iamVjdCwgaXQncyBjb252ZW5pZW50IHRvIGluY2x1ZGUgdGhlIG9yaWdpbmFsIGZvciBkZWJ1ZyBwdXJwb3Nlcy4gSXQncwogICAgICAgIG90aGVyd2lzZSB1bnVzZWQuCgogICAgOnBhcmFtIHJldHJpZXM6CiAgICAgICAgVGhlIHJldHJpZXMgY29udGFpbnMgdGhlIGxhc3QgOmNsYXNzOmB+dXJsbGliMy51dGlsLnJldHJ5LlJldHJ5YCB0aGF0CiAgICAgICAgd2FzIHVzZWQgZHVyaW5nIHRoZSByZXF1ZXN0LgoKICAgIDpwYXJhbSBlbmZvcmNlX2NvbnRlbnRfbGVuZ3RoOgogICAgICAgIEVuZm9yY2UgY29udGVudCBsZW5ndGggY2hlY2tpbmcuIEJvZHkgcmV0dXJuZWQgYnkgc2VydmVyIG11c3QgbWF0Y2gKICAgICAgICB2YWx1ZSBvZiBDb250ZW50LUxlbmd0aCBoZWFkZXIsIGlmIHByZXNlbnQuIE90aGVyd2lzZSwgcmFpc2UgZXJyb3IuCiAgICByUwAAANoHZGVmbGF0ZU5yVAAAACkFaS0BAABpLgEAAGkvAQAAaTMBAABpNAEAANoAcgEAAABURmMSAAAAAAAAAAAAAAAUAAAABAAAAEMAAABzGAEAAHQAfAJ0AYMCchJ8AnwAXwJuCnQBfAKDAXwAXwJ8A3wAXwN8BHwAXwR8BXwAXwV8BnwAXwZ8CHwAXwd8DXwAXwh8DnwAXwl8EXwAXwpkAHwAXwtkAHwAXwxkAHwAXw18CXwAXw5kAXwAXw98DHwAXxB8EHwAXxF8AXKQdAB8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AAAAQwAAAHMMAQAAfACgAKEAAQB8AmQBdQByFnwAagF9AnwAagJkAXUAciRkAVMAZAJ9BHQDfABqAmQDZAKDA30FfACgBKEAj2wBAHwFc058AKAFfAGhAW4CZAR9BnwBZAF1AHJgZAV9BG48ZAJ9A3wBZAZrA3KcfAZznHwAagKgBqEAAQBkBX0EfABqB3KcfABqCGQHdgFynHQJfABqCnwAagiDAoIBVwBkAQQABACDAwEAbhAxAHOwMAABAAEAAQBZAAEAfAaQAXIIfAAEAGoKdAt8BoMBNwACAF8KfABqCGQBdQFy7nwABABqCHQLfAaDATgAAgBfCHwAoAx8BnwCfAShA30GfAOQAXIIfAZ8AF8NfAZTACkIYVQDAAAKICAgICAgICBTaW1pbGFyIHRvIDptZXRoOmBodHRwLmNsaWVudC5IVFRQUmVzcG9uc2UucmVhZGAsIGJ1dCB3aXRoIHR3byBhZGRpdGlvbmFsCiAgICAgICAgcGFyYW1ldGVyczogYGBkZWNvZGVfY29udGVudGBgIGFuZCBgYGNhY2hlX2NvbnRlbnRgYC4KCiAgICAgICAgOnBhcmFtIGFtdDoKICAgICAgICAgICAgSG93IG11Y2ggb2YgdGhlIGNvbnRlbnQgdG8gcmVhZC4gSWYgc3BlY2lmaWVkLCBjYWNoaW5nIGlzIHNraXBwZWQKICAgICAgICAgICAgYmVjYXVzZSBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gY2FjaGUgcGFydGlhbCBjb250ZW50IGFzIHRoZSBmdWxsCiAgICAgICAgICAgIHJlc3BvbnNlLgoKICAgICAgICA6cGFyYW0gZGVjb2RlX2NvbnRlbnQ6CiAgICAgICAgICAgIElmIFRydWUsIHdpbGwgYXR0ZW1wdCB0byBkZWNvZGUgdGhlIGJvZHkgYmFzZWQgb24gdGhlCiAgICAgICAgICAgICdjb250ZW50LWVuY29kaW5nJyBoZWFkZXIuCgogICAgICAgIDpwYXJhbSBjYWNoZV9jb250ZW50OgogICAgICAgICAgICBJZiBUcnVlLCB3aWxsIHNhdmUgdGhlIHJldHVybmVkIGRhdGEgc3VjaCB0aGF0IHRoZSBzYW1lIHJlc3VsdCBpcwogICAgICAgICAgICByZXR1cm5lZCBk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