VQ0NCgAAAADLuIxjtZgAAOMAAAAAAAAAAAAAAAAAAAAABQAAAEAAAABz3gEAAGQAZAFsAG0BWgEBAGQAZAJsAloCZABkAmwDWgNkAGQCbARaBGQAZAJsBVoFZABkAmwGWgZkAGQCbAdaB2QAZANsBW0IWgkBAGQAZARsBW0KWgsBAGQFZAZsDG0NWg1tDloObQ9aD20QWhBtEVoRbRJaEm0TWhNtFFoUAQBkBWQHbBVtFloWbRdaF20YWhhtGVoZbRpaGm0bWhttHFocbR1aHW0eWh5tH1ofbSBaIG0hWiFtIloiAQBkBWQIbCNtJFokAQBkBWQJbCVtJlomAQBkBWQKbCdtKFooAQBkBWQLbCltKloqAQBkBWQMbCttLFosAQBkBWQNbC1tLlouAQBkBWQObC9tMFowAQBkBWQPbDFtMloyAQBkBWQQbDNtNFo0AQBkBWQRbDVtNlo2AQBkBWQSbDdtOFo4AQBkBWQTbDltOlo6AQBkBWQUbDttPFo8bT1aPQEAZAVkFWw7bT5aPwEAZAVkFmw7bUBaQG1BWkEBAGUkakJqQ1pDZQOgRGVFoQFaRmVHgwBaSEcAZBdkGIQAZBhlR4MDWkllAmpKZQJqS2gCWkxHAGQZZBqEAGQaZUllKIMEWk1HAGQbZByEAGQcZU2DA1pOZB1kHoQAWk9kH2QghABaPmQCUwApIekAAAAAKQHaD2Fic29sdXRlX2ltcG9ydE4pAdoFZXJyb3KpAdoHdGltZW91dOkBAAAAKQjaDEJhc2VTU0xFcnJvctoPQnJva2VuUGlwZUVycm9y2g9EdW1teUNvbm5lY3Rpb27aDkhUVFBDb25uZWN0aW9u2g1IVFRQRXhjZXB0aW9u2g9IVFRQU0Nvbm5lY3Rpb27aF1ZlcmlmaWVkSFRUUFNDb25uZWN0aW9u2g5wb3J0X2J5X3NjaGVtZSkN2g9DbG9zZWRQb29sRXJyb3LaDkVtcHR5UG9vbEVycm9y2hJIZWFkZXJQYXJzaW5nRXJyb3LaEEhvc3RDaGFuZ2VkRXJyb3LaFkluc2VjdXJlUmVxdWVzdFdhcm5pbmfaEkxvY2F0aW9uVmFsdWVFcnJvctoNTWF4UmV0cnlFcnJvctoSTmV3Q29ubmVjdGlvbkVycm9y2g1Qcm90b2NvbEVycm9y2gpQcm94eUVycm9y2hBSZWFkVGltZW91dEVycm9y2ghTU0xFcnJvctoMVGltZW91dEVycm9yKQHaA3NpeCkB2gVxdWV1ZSkB2g5SZXF1ZXN0TWV0aG9kcykB2gxIVFRQUmVzcG9uc2UpAdoVaXNfY29ubmVjdGlvbl9kcm9wcGVkKQHaH2Nvbm5lY3Rpb25fcmVxdWlyZXNfaHR0cF90dW5uZWwpAdoJTGlmb1F1ZXVlKQHaEXNldF9maWxlX3Bvc2l0aW9uKQHaFWFzc2VydF9oZWFkZXJfcGFyc2luZykB2gVSZXRyeSkB2hBDZXJ0aWZpY2F0ZUVycm9yKQHaB1RpbWVvdXQpAtoDVXJs2g5fZW5jb2RlX3RhcmdldCkB2g9fbm9ybWFsaXplX2hvc3QpAtoIZ2V0X2hvc3TaCXBhcnNlX3VybGMAAAAAAAAAAAAAAAAAAAAAAwAAAEAAAABzQgAAAGUAWgFkAFoCZAFaA2QCWgRlBVoGZA1kA2QEhAFaB2QFZAaEAFoIZAdkCIQAWglkCWQKhABaCmQLZAyEAFoLZAJTACkO2g5Db25uZWN0aW9uUG9vbGE7AQAACiAgICBCYXNlIGNsYXNzIGZvciBhbGwgY29ubmVjdGlvbiBwb29scywgc3VjaCBhcwogICAgOmNsYXNzOmAuSFRUUENvbm5lY3Rpb25Qb29sYCBhbmQgOmNsYXNzOmAuSFRUUFNDb25uZWN0aW9uUG9vbGAuCgogICAgLi4gbm90ZTo6CiAgICAgICBDb25uZWN0aW9uUG9vbC51cmxvcGVuKCkgZG9lcyBub3Qgbm9ybWFsaXplIG9yIHBlcmNlbnQtZW5jb2RlIHRhcmdldCBVUklzCiAgICAgICB3aGljaCBpcyB1c2VmdWwgaWYgeW91ciB0YXJnZXQgc2VydmVyIGRvZXNuJ3Qgc3VwcG9ydCBwZXJjZW50LWVuY29kZWQKICAgICAgIHRhcmdldCBVUklzLgogICAgTmMDAAAAAAAAAAAAAAADAAAABAAAAEMAAABzMAAAAHwBcwx0AGQBgwGCAXQBfAF8AGoCZAKNAnwAXwN8AaAEoQB8AF8FfAJ8AF8GZABTACkDTnoSTm8gaG9zdCBzcGVjaWZpZWQuqQHaBnNjaGVtZSkHchQAAAByKgAAAHIvAAAA2gRob3N02gVsb3dlctoLX3Byb3h5X2hvc3Ta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ICAgIFNvY2tldCB0aW1lb3V0IGluIHNlY29uZHMgZm9yIGVhY2ggaW5kaXZpZHVhbCBjb25uZWN0aW9uLiBUaGlzIGNhbgogICAgICAgIGJlIGEgZmxvYXQgb3IgaW50ZWdlciwgd2hpY2ggc2V0cyB0aGUgdGltZW91dCBmb3IgdGhlIEhUVFAgcmVxdWVzdCwKICAgICAgICBvciBhbiBpbnN0YW5jZSBvZiA6Y2xhc3M6YHVybGxpYjMudXRpbC5UaW1lb3V0YCB3aGljaCBnaXZlcyB5b3UgbW9yZQogICAgICAgIGZpbmUtZ3JhaW5lZCBjb250cm9sIG92ZXIgcmVxdWVzdCB0aW1lb3V0cy4gQWZ0ZXIgdGhlIGNvbnN0cnVjdG9yIGhhcwogICAgICAgIGJlZW4gcGFyc2VkLCB0aGlzIGlzIGFsd2F5cyBhIGB1cmxsaWIzLnV0aWwuVGltZW91dGAgb2JqZWN0LgoKICAgIDpwYXJhbSBtYXhzaXplOgogICAgICAgIE51bWJlciBvZiBjb25uZWN0aW9ucyB0byBzYXZlIHRoYXQgY2FuIGJlIHJldXNlZC4gTW9yZSB0aGFuIDEgaXMgdXNlZnVsCiAgICAgICAgaW4gbXVsdGl0aHJlYWRlZCBzaXR1YXRpb25zLiBJZiBgYGJsb2NrYGAgaXMgc2V0IHRvIEZhbHNlLCBtb3JlCiAgICAgICAgY29ubmVjdGlvbnMgd2lsbCBiZSBjcmVhdGVkIGJ1dCB0aGV5IHdpbGwgbm90IGJlIHNhdmVkIG9uY2UgdGhleSd2ZQogICAgICAgIGJlZW4gdXNlZC4KCiAgICA6cGFyYW0gYmxvY2s6CiAgICAgICAgSWYgc2V0IHRvIFRydWUsIG5vIG1vcmUgdGhhbiBgYG1heHNpemVgYCBjb25uZWN0aW9ucyB3aWxsIGJlIHVzZWQgYXQKICAgICAgICBhIHRpbWUuIFdoZW4gbm8gZnJlZSBjb25uZWN0aW9ucyBhcmUgYXZhaWxhYmxlLCB0aGUgY2FsbCB3aWxsIGJsb2NrCiAgICAgICAgdW50aWwgYSBjb25uZWN0aW9uIGhhcyBiZWVuIHJlbGVhc2VkLiBUaGlzIGlzIGEgdXNlZnVsIHNpZGUgZWZmZWN0IGZvcgogICAgICAgIHBhcnRpY3VsYXIgbXVsdGl0aHJlYWRlZCBzaXR1YXRpb25zIHdoZXJlIG9uZSBkb2VzIG5vdCB3YW50IHRvIHVzZSBtb3JlCiAgICAgICAgdGhhbiBtYXhzaXplIGNvbm5lY3Rpb25zIHBlciBob3N0IHRvIHByZXZlbnQgZmxvb2RpbmcuCgogICAgOnBhcmFtIGhlYWRlcnM6CiAgICAgICAgSGVhZGVycyB0byBpbmNsdWRlIHdpdGggYWxsIHJlcXVlc3RzLCB1bmxlc3Mgb3RoZXIgaGVhZGVycyBhcmUgZ2l2ZW4KICAgICAgICBleHBsaWNpdGx5LgoKICAgIDpwYXJhbSByZXRyaWVzOgogICAgICAgIFJldHJ5IGNvbmZpZ3VyYXRpb24gdG8gdXNlIGJ5IGRlZmF1bHQgd2l0aCByZXF1ZXN0cyBpbiB0aGlzIHBvb2wuCgogICAgOnBhcmFtIF9wcm94eToKICAgICAgICBQYXJzZWQgcHJveHkgVVJMLCBzaG91bGQgbm90IGJlIHVzZWQgZGlyZWN0bHksIGluc3RlYWQsIHNlZQogICAgICAgIDpjbGFzczpgdXJsbGliMy5Qcm94eU1hbmFnZXJgCgogICAgOnBhcmFtIF9wcm94eV9oZWFkZXJzOgogICAgICAgIEEgZGljdGlvbmFyeSB3aXRoIHByb3h5IGhlYWRlcnMsIHNob3VsZCBub3QgYmUgdXNlZCBkaXJlY3RseSwKICAgICAgICBpbnN0ZWFkLCBzZWUgOmNsYXNzOmB1cmxsaWIzLlByb3h5TWFuYWdlcmAKCiAgICA6cGFyYW0gXCoqY29ubl9rdzoKICAgICAgICBBZGRpdGlvbmFsIHBhcmFtZXRlcnMgYXJlIHVzZWQgdG8gY3JlYXRlIGZyZXNoIDpjbGFzczpgdXJsbGliMy5jb25uZWN0aW9uLkhUVFBDb25uZWN0aW9uYCwKICAgICAgICA6Y2xhc3M6YHVybGxpYjMuY29ubmVjdGlvbi5IVFRQU0Nvbm5lY3Rpb25gIGluc3RhbmNlcy4KICAgINoEaHR0cE5GcgYAAABjDAAAAAAAAAAAAAAADgAAAAUAAABLAAAAc9IAAAB0AKABfAB8AXwCoQMBAHQCoAF8AHwHoQIBAHwDfABfA3QEfAR0BYMCczR0BaAG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fBChAQEAfABqHnwQfAF8AnwVfAN8BHwLZAmNB30XfAqQAXNEfBBuAmQBfRh8AXwNZAo8AHwAah9qIHwXZgF8AHwYfAVkC5wDfA2XAo4BfRlkBH0UVwCQAW4iBAB0IWsKkAFylgEAAQABAGQEfRRkBn0RggBZAJABbgIEAHQidCN0JHQldCZ0J3QoZgdrCpACcpYBAH0aAQB61GQGfRRkDGQNhAB9G3QDfBp0JoMCkAJyBnwAahCQAnIGfBt8GoMBkAJyBnwQahCQAnIGfBBqEGoBZA5rApACcgZ0KWQPdCd8GoMBgwJ9Gm5YdAN8GnQmdChmAoMCkAJyIHQnfBqDAX0abj50A3wadCR0KmYCgwKQAnJEfABqEJACckR0KWQQfBqDAn0abhp0A3wadCR0I2YCgwKQAnJedCVkEXwagwJ9GnwFait8AXwCfBp8AHQsoC2hAGQSGQBkE40FfQV8BaAuoQABAHwafRNXADUAZAF9Gn4aWABZAG4CWABXADUAfBSQAnO0fBCQAm+ufBCgFqEAfRBkBH0RfBGQAnLEfACgF3wQoQEBAFgAfBCQA3MGdC+gMGQUfAV8E3wCoQQBAHwAajF8AXwCfAN8BHwFfAZ8B2YHfAh8CXwKfAt8DGQVnAV8DZcCjgFTAHwGkANvEnwZoDKhAH0cfByQA3K4fBlqM2QWawKQA3IqZBd9AXoWfAVqK3wBfAJ8GXwAZBiNBH0FVwBuLAQAdDRrCpADcmwBAAEAAQB8BWo1kANyZHwZoDahAAEAggB8GQYAWQBTAFgAfBmgNqEAAQB8BaA3fBmhAQEAdC+gOGQZfAJ8HKEDAQB8AGoxfAF8HHwDfARmBHwFfAZ8B3wIfAl8CnwLfAxkGpwIfA2XAo4BUwB0OXwZoDpkG6EBgwF9HXwFoDt8AXwZajN8HaEDkARyZHoWfAVqK3wBfAJ8GXwAZBiNBH0FVwBuLAQAdDRrCpAEchoBAAEAAQB8BWo8kARyEnwZoDahAAEAggB8GQYAWQBTAFgAfBmgNqEAAQB8BaAufBmhAQEAdC+gOGQcfAKhAgEAfABqMXwBfAJ8A3wEZgR8BXwGfAd8CHwJfAp8C3wMZBqcCHwNlwKOAVMAfBlTACkdYSsQAAAKICAgICAgICBHZXQgYSBjb25uZWN0aW9uIGZyb20gdGhlIHBvb2wgYW5kIHBlcmZvcm0gYW4gSFRUUCByZXF1ZXN0LiBUaGlzIGlzIHRoZQogICAgICAgIGxvd2VzdCBsZXZlbCBjYWxsIGZvciBtYWtpbmcgYSByZXF1ZXN0LCBzbyB5b3UnbGwgbmVlZCB0byBzcGVjaWZ5IGFsbAogICAgICAgIHRoZSByYXcgZGV0YWlscy4KCiAgICAgICAgLi4gbm90ZTo6CgogICAgICAgICAgIE1vcmUgY29tbW9ubHksIGl0J3MgYXBwcm9wcmlhdGUgdG8gdXNlIGEgY29udmVuaWVuY2UgbWV0aG9kIHByb3ZpZGVkCiAgICAgICAgICAgYnkgOmNsYXNzOmAuUmVxdWVzdE1ldGhvZHNgLCBzdWNoIGFzIDptZXRoOmByZXF1ZXN0YC4KCiAgICAgICAgLi4gbm90ZTo6CgogICAgICAgICAgIGByZWxlYXNlX2Nvbm5gIHdpbGwgb25seSBiZWhhdmUgYXMgZXhwZWN0ZWQgaWYKICAgICAgICAgICBgcHJlbG9hZF9jb250ZW50PUZhbHNlYCBiZWNhdXNlIHdlIHdhbnQgdG8gbWFrZQogICAgICAgICAgIGBwcmVsb2FkX2NvbnRlbnQ9RmFsc2VgIHRoZSBkZWZhdWx0IGJlaGF2aW91ciBzb21lZGF5IHNvb24gd2l0aG91dAogICAgICAgICAgIGJyZWFraW5nIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgoKICAgICAgICA6cGFyYW0gbWV0aG9kOgogICAgICAgICAgICBIVFRQIHJlcXVlc3QgbWV0aG9kIChzdWNoIGFzIEdFVCwgUE9TVCwgUFVULCBldGMuKQoKICAgICAgICA6cGFyYW0gdXJsOgogICAgICAgICAgICBUaGUgVVJMIHRvIHBlcmZvcm0gdGhlIHJlcXVlc3Qgb24uCgogICAgICAgIDpwYXJhbSBib2R5OgogICAgICAgICAgICBEYXRhIHRvIHNlbmQgaW4gdGhlIHJlcXVlc3QgYm9keSwgZWl0aGVyIDpjbGFzczpgc3RyYCwgOmNsYXNzOmBieXRlc2AsCiAgICAgICAgICAgIGFuIGl0ZXJhYmxlIG9mIDpjbGFzczpgc3RyYC86Y2xhc3M6YGJ5dGVzYCwgb3IgYSBmaWxlLWxpa2Ugb2JqZWN0LgoKICAgICAgICA6cGFyYW0gaGVhZGVyczoKICAgICAgICAgICAgRGljdGlvbmFyeSBvZiBjdXN0b20gaGVhZGVycyB0byBzZW5kLCBzdWNoIGFzIFVzZXItQWdlbnQsCiAgICAgICAgICAgIElmLU5vbmUtTWF0Y2gsIGV0Yy4gSWYgTm9uZSwgcG9vbCBoZWFkZXJzIGFyZSB1c2VkLiBJZiBwcm92aWRlZCwKICAgICAgICAgICAgdGhlc2UgaGVhZGVycyBjb21wbGV0ZWx5IHJlcGxhY2UgYW55IHBvb2wtc3BlY2lmaWMgaGVhZGVycy4KCiAgICAgICAgOnBhcmFtIHJldHJpZXM6CiAgICAgICAgICAgIENvbmZpZ3VyZSB0aGUgbnVtYmVyIG9mIHJldHJpZXMgdG8gYWxsb3cgYmVmb3JlIHJhaXNpbmcgYQogICAgICAgICAgICA6Y2xhc3M6YH51cmxsaWIzLmV4Y2VwdGlvbnMuTWF4UmV0cnlFcnJvcmAgZXhjZXB0aW9uLgoKICAgICAgICAgICAgUGFzcyBgYE5vbmVgYCB0byByZXRyeSB1bnRpbCB5b3UgcmVjZWl2ZSBhIHJlc3BvbnNlLiBQYXNzIGEKICAgICAgICAgICAgOmNsYXNzOmB+dXJsbGliMy51dGlsLnJldHJ5LlJldHJ5YCBvYmplY3QgZm9yIGZpbmUtZ3JhaW5lZCBjb250cm9sCiAgICAgICAgICAgIG92ZXIgZGlmZmVyZW50IHR5cGVzIG9mIHJldHJpZXMuCiAgICAgICAgICAgIFBhc3MgYW4gaW50ZWdlciBudW1iZXIgdG8gcmV0cnkgY29ubmVjdGlvbiBlcnJvcnMgdGhhdCBtYW55IHRpbWVzLAogICAgICAgICAgICBidXQgbm8gb3RoZXIgdHlwZXMgb2YgZXJyb3JzLiBQYXNzIHplcm8gdG8gbmV2ZXIgcmV0cnkuCgogICAgICAgICAgICBJZiBgYEZhbHNlYGAsIHRoZW4gcmV0cmllcyBhcmUgZGlzYWJsZWQgYW5kIGFueSBleGNlcHRpb24gaXMgcmFpc2VkCiAgICAgICAgICAgIGltbWVkaWF0ZWx5LiBBbHNvLCBpbnN0ZWFkIG9mIHJhaXNpbmcgYSBNYXhSZXRyeUVycm9yIG9uIHJlZGlyZWN0cywKICAgICAgICAgICAgdGhlIHJlZGlyZWN0IHJlc3BvbnNlIHdpbGwgYmUgcmV0dXJuZWQuCgogICAgICAgIDp0eXBlIHJldHJpZXM6IDpjbGFzczpgfnVybGxpYjMudXRpbC5yZXRyeS5SZXRyeWAsIEZhbHNlLCBvciBhbiBpbnQuCgogICAgICAgIDpwYXJhbSByZWRpcmVjdDoKICAgICAgICAgICAgSWYgVHJ1ZSwgYXV0b21hdGljYWxseSBoYW5kbGUgcmVkaXJlY3RzIChzdGF0dXMgY29kZXMgMzAxLCAzMDIsCiAgICAgICAgICAgIDMwMywgMzA3LCAzMDgpLiBFYWNoIHJlZGlyZWN0IGNvdW50cyBhcyBhIHJldHJ5LiBEaXNhYmxpbmcgcmV0cmllcwogICAgICAgICAgICB3aWxsIGRpc2FibGUgcmVkaXJlY3QsIHRvby4KCiAgICAgICAgOnBhcmFtIGFzc2VydF9zYW1lX2hvc3Q6CiAgICAgICAgICAgIElmIGBgVHJ1ZWBgLCB3aWxsIG1ha2Ugc3VyZSB0aGF0IHRoZSBob3N0IG9mIHRoZSBwb29sIHJlcXVlc3RzIGlzCiAgICAgICAgICAgIGNvbnNpc3RlbnQgZWxzZSB3aWxsIHJhaXNlIEhvc3RDaGFuZ2VkRXJyb3IuIFdoZW4gYGBGYWxzZWBgLCB5b3UgY2FuCiAgICAgICAgICAgIHVzZSB0aGUgcG9vbCBvbiBhbiBIVFRQIHByb3h5IGFuZCByZXF1ZXN0IGZvcmVpZ24gaG9zdHMuCgogICAgICAgIDpwYXJhbSB0aW1lb3V0OgogICAgICAgICAgICBJZiBzcGVjaWZpZWQsIG92ZXJyaWRlcyB0aGUgZGVmYXVsdCB0aW1lb3V0IGZvciB0aGlzIG9uZQogICAgICAgICAgICByZXF1ZXN0LiBJdCBtYXkgYmUgYSBmbG9hdCAoaW4gc2Vjb25kcykgb3IgYW4gaW5zdGFuY2Ugb2YKICAgICAgICAgICAgOmNsYXNzOmB1cmxsaWIzLnV0aWwuVGltZW91dGAuCgogICAgICAgIDpwYXJhbSBwb29sX3RpbWVvdXQ6CiAgICAgICAgICAgIElmIHNldCBhbmQgdGhlIHBvb2wgaXMgc2V0IHRvIGJsb2NrPVRydWUsIHRoZW4gdGhpcyBtZXRob2Qgd2lsbAogICAgICAgICAgICBibG9jayBmb3IgYGBwb29sX3RpbWVvdXRgYCBzZWNvbmRzIGFuZCByYWlzZSBFbXB0eVBvb2xFcnJvciBpZiBubwogICAgICAgICAgICBjb25uZWN0aW9uIGlzIGF2YWlsYWJsZSB3aXRoaW4gdGhlIHRpbWUgcGVyaW9kLgoKICAgICAgICA6cGFyYW0gcmVsZWFzZV9jb25uOgogICAgICAgICAgICBJZiBGYWxzZSwgdGhlbiB0aGUgdXJsb3BlbiBjYWxsIHdpbGwgbm90IHJlbGVhc2UgdGhlIGNvbm5lY3Rpb24KICAgICAgICAgICAgYmFjayBpbnRvIHRoZSBwb29sIG9uY2UgYSByZXNwb25zZSBpcyByZWNlaXZlZCAoYnV0IHdpbGwgcmVsZWFzZSBpZgogICAgICAgICAgICB5b3UgcmVhZCB0aGUgZW50aXJlIGNvbnRlbnRzIG9mIHRoZSByZXNwb25zZSBzdWNoIGFzIHdoZW4KICAgICAgICAgICAgYHByZWxvYWRfY29udGVudD1UcnVlYCkuIFRoaXMgaXMgdXNlZnVsIGlmIHlvdSdyZSBub3QgcHJlbG9hZGluZwogICAgICAgICAgICB0aGUgcmVzcG9uc2UncyBjb250ZW50IGltbWVkaWF0ZWx5LiBZb3Ugd2lsbCBuZWVkIHRvIGNhbGwKICAgICAgICAgICAgYGByLnJlbGVhc2VfY29ubigpYGAgb24gdGhlIHJlc3BvbnNlIGBgcmBgIHRvIHJldHVybiB0aGUgY29ubmVjdGlvbgogICAgICAgICAgICBiYWNrIGludG8gdGhlIHBvb2wuIElmIE5vbmUsIGl0IHRha2VzIHRoZSB2YWx1ZSBvZgogICAgICAgICAgICBgYHJlc3BvbnNlX2t3LmdldCgncHJlbG9hZF9jb250ZW50JywgVHJ1ZSlgYC4KCiAgICAgICAgOnBhcmFtIGNodW5rZWQ6CiAgICAgICAgICAgIElmIFRydWUsIHVybGxpYjMgd2lsbCBzZW5kIHRoZSBib2R5IHVzaW5nIGNodW5rZWQgdHJhbnNmZXIKICAgICAgICAgICAgZW5jb2RpbmcuIE90aGVyd2lzZSwgdXJsbGliMyB3aWxsIHNlbmQgdGhlIGJvZHkgdXNpbmcgdGhlIHN0YW5kYXJkCiAgICAgICAgICAgIGNvbnRlbnQtbGVuZ3RoIGZvcm0uIERlZmF1bHRzIHRvIEZhbHNlLgoKICAgICAgICA6cGFyYW0gaW50IGJvZHlfcG9zOgogICAgICAgICAgICBQb3NpdGlvbiB0byBzZWVrIHRvIGluIGZpbGUtbGlrZSBib2R5IGluIHRoZSBldmVudCBvZiBhIHJldHJ5IG9yCiAgICAgICAgICAgIHJlZGlyZWN0LiBUeXBpY2FsbHkgdGhpcyB3b24ndCBuZWVkIHRvIGJlIHNldCBiZWNhdXNlIHVybGxpYjMgd2lsbAogICAgICAgICAgICBhdXRvLXBvcHVsYXRlIHRoZSB2YWx1ZSB3aGVuIG5lZWRlZC4KCiAgICAgICAgOnBhcmFtIFwqKnJlc3BvbnNlX2t3OgogICAgICAgICAgICBBZGRpdGlvbmFsIHBhcmFtZXRlcnMgYXJlIHBhc3NlZCB0bwogICAgICAgICAgICA6bWV0aDpgdXJsbGliMy5yZXNwb25zZS5IVFRQUmVzcG9uc2UuZnJvbV9odHRwbGliYAogICAgICAgIE4pAtoIcmVkaXJlY3TaB2RlZmF1bHTaD3ByZWxvYWRfY29udGVudFRypQAAAEZyBAAAAHKDAAAAKQRyBQAAANoEYm9keXJcAAAAcpsAAADaDnJlcXVlc3RfbWV0aG9kKQNyUgAAANoKY29ubmVjdGlvbnJRAAAAYwEAAAAAAAAAAAAAAAIAAAAHAAAAUwAAAHMqAAAAZAGgAHQBoAJkAnQDfACDAaAEoQChAqEBfQFkA3wBawZwKGQEfAFrBlMAKQVO+gEgegZbXmEtel16FHdyb25nIHZlcnNpb24gbnVtYmVyehB1bmtub3duIHByb3RvY29sKQXaBGpvaW7aAnJl2gVzcGxpdHJ+AAAAcjEAAAApAloJc3NsX2Vycm9y2gdtZXNzYWdlcjUAAAByNQAAAHI2AAAA2iVfaXNfc3NsX2Vycm9yX21lc3NhZ2VfZnJvbV9odHRwX3Byb3h58QIAAHMGAAAAAAQaAg7/eklIVFRQQ29ubmVjdGlvblBvb2wudXJsb3Blbi48bG9jYWxzPi5faXNfc3NsX2Vycm9yX21lc3NhZ2VfZnJvbV9odHRwX3Byb3h52gVodHRwc3q5WW91ciBwcm94eSBhcHBlYXJzIHRvIG9ubHkgdXNlIEhUVFAgYW5kIG5vdCBIVFRQUywgdHJ5IGNoYW5naW5nIHlvdXIgcHJveHkgVVJMIHRvIGJlIEhUVFAuIFNlZTogaHR0cHM6Ly91cmxsaWIzLnJlYWR0aGVkb2NzLmlvL2VuLzEuMjYueC9hZHZhbmNlZC11c2FnZS5odG1sI2h0dHBzLXByb3h5LWVycm9yLWh0dHAtcHJveHl6GENhbm5vdCBjb25uZWN0IHRvIHByb3h5LnoTQ29ubmVjdGlvbiBhYm9ydGVkLukCAAAAKQNyAwAAANoFX3Bvb2zaC19zdGFja3RyYWNlejFSZXRyeWluZyAoJXIpIGFmdGVyIGNvbm5lY3Rpb24gYnJva2VuIGJ5ICclcic6ICVzKQVyBQAAANoMcG9vbF90aW1lb3V02gxyZWxlYXNlX2Nvbm5ymwAAANoIYm9keV9wb3NpLwEAANoDR0VUKQLaCHJlc3BvbnNlcrYAAAB6FFJlZGlyZWN0aW5nICVzIC0+ICVzKQhyUQAAAHKoAAAA2hBhc3NlcnRfc2FtZV9ob3N0cgUAAAByuAAAAHK5AAAAcpsAAAByugAAAHoLUmV0cnktQWZ0ZXJ6CVJldHJ5OiAlcyk9ciwAAAByLwAAAHJcAAAAck4AAAByJQAAANoIZnJvbV9pbnRyUQAAAHJpAAAAcqcAAAByEgAAAHKmAAAAchwAAADaCmVuc3VyZV9zdHJyKQAAAHKAAAAAciEAAABySwAAAHJMAAAA2gRjb3B52gZ1cGRhdGVyVAAAAHIjAAAAcj4AAABycgAAAHJ4AAAAcm0AAAByZAAAAHIFAAAAcmwAAABydQAAAHKiAAAA2gtSZXNwb25zZUNsc9oMZnJvbV9odHRwbGlichAAAAByGwAAAHILAAAAcpUAAAByFwAAAHIHAAAAchoAAAByJgAAAHIYAAAAchYAAADaCWluY3JlbWVudNoDc3lzcoYAAADaBXNsZWVwcmEAAABycAAAANoHdXJsb3BlbtoVZ2V0X3JlZGlyZWN0X2xvY2F0aW9ucpYAAAByFQAAANoRcmFpc2Vfb25fcmVkaXJlY3RaCmRyYWluX2Nvbm7aD3NsZWVw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AAByWQAAAHLiAAAAKQRyNAAAANoLYWN0dWFsX2hvc3TaC2FjdHVhbF9wb3J0cmYAAAByNQAAAHI1AAAAcjYAAAByZwAAAOYDAABzOAAAAAAEDgEEAQIBBAEEAQj8BAcQAQIBAv8EBAYBBgEKAQgBCAIGAQIBAgEGAQQBBAEEAQT5BAgE+AYLeh1IVFRQU0Nvbm5lY3Rpb25Qb29sLl9uZXdfY29ubmMCAAAAAAAAAAAAAAACAAAABAAAAAMAAABzXAAAAHQAdAF8AIMCoAJ8AaEBAQB0A3wBZAFkAoMDcyR8AaAEoQABAHwBagVzPHQGoAdkA3wBaggWAHQJoQIBAHQDfAFkBGQCgwNkBWsIclh0BqAHZAZ0CaECAQBkAlMAKQdycwAAAHKDAAAATnq4VW52ZXJpZmllZCBIVFRQUyByZXF1ZXN0IGlzIGJlaW5nIG1hZGUgdG8gaG9zdCAnJXMnLiBBZGRpbmcgY2VydGlmaWNhdGUgdmVyaWZpY2F0aW9uIGlzIHN0cm9uZ2x5IGFkdmlzZWQuIFNlZTogaHR0cHM6Ly91cmxsaWIzLnJlYWR0aGVkb2NzLmlvL2VuLzEuMjYueC9hZHZhbmNlZC11c2FnZS5odG1sI3NzbC13YXJuaW5nc1oRcHJveHlfaXNfdmVyaWZpZWRGerdVbnZlcmlmaWVkIEhUVFBTIGNvbm5lY3Rpb24gZG9uZSB0byBhbiBIVFRQUyBwcm94eS4gQWRkaW5nIGNlcnRpZmljYXRlIHZlcmlmaWNhdGlvbiBpcyBzdHJvbmdseSBhZHZpc2VkLiBTZWU6IGh0dHBzOi8vdXJsbGliMy5yZWFkdGhlZG9jcy5pby9lbi8xLjI2LngvYWR2YW5jZWQtdXNhZ2UuaHRtbCNzc2wtd2FybmluZ3MpCtoFc3VwZXJy1wAAAHJ0AAAAcmwAAABy5AAAANoLaXNfdmVyaWZpZWTaCHdhcm5pbmdz2gR3YXJucjAAAAByEwAAAHJlAAAAqQHaCV9fY2xhc3NfX3I1AAAAcjYAAABydAAAAAoEAABzHgAAAAAEEAMMAQgCBgEEAgIDBP0CBQL5BAoQAQQCAgUC+XoiSFRUUFNDb25uZWN0aW9uUG9vbC5fdmFsaWRhdGVfY29ubikPcjkAAAByRAAAAHJFAAAAckYAAAByLwAAAHIMAAAA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