YQ0NCgAAAABGGnxjjXYBAOMAAAAAAAAAAAAAAAAAAAAADQAAAEAAAABz5gUAAFUAZABkAWwAWgBkAGQBbAFaAWQAZAFsAloCZABkAWwDWgNkAGQBbARaBGQAZAFsBVoFZABkAWwGWgZkAGQCbAdtCFoIbQlaCQEAZABkA2wKbQtaC20MWgwBAGQAZARsDW0NWg0BAGQAZAVsDm0PWg8BAGQAZAZsEG0QWhABAGQAZAdsEW0SWhIBAGQAZAhsAG0TWhMBAGQAZAlsFG0VWhUBAGQAZApsFm0XWhcBAGQAZAtsGG0ZWhkBAGQAZAxsGm0bWhttHFocbR1aHQEAZABkDWwebR9aH20gWiBtIVohbSJaIm0jWiNtJFokbSVaJW0mWiZtJ1onbShaKG0pWiltKloqbStaK20sWixtLVotAQBlBGouZA5rBZABcjRkAGQPbB5tL1ovbTBaMG0xWjEBAG4UZABkD2wybS9aL20wWjBtMVoxAQBkEGQRbDNtNFo0bTVaNQEAZBBkEmw2bTZaNgEAZBBkE2w3bThaOG05WjkBAGQQZBRsOm07WjttPFo8AQBkEGQVbD1tPlo+bT9aPwEAZBBkFmxAbUFaQW1CWkIBAGQQZBdsQ21EWkQBAGQQZBhsRW1GWkYBAGQQZBlsR21IWkhtSVpJAQBkEGQabEptS1pMAQBkEGQbbE1tTlpObU9aTwEAZBBkHGxQbVFaUW1SWlIBAGQQZB1sU21UWlRtVVpVAQBkEGQebFZtV1pXAQBkEGQfbFhtWVpZAQBkEGQgbFptW1pbAQBkEGQhbFxtXVpdAQBkEGQibF5tX1pfAQBkEGQjbGBtYVphbWJaYgEAZBBkJGxjbWRaZAEAZBBkJWxlbWZaZm1nWmdtaFpoAQBkEGQmbGltalpqbWtaawEAZBBkJ2xsbW1abW1uWm4BAGUgkAJyvmQQZChsb21wWnABAGQQZClscW1yWnIBAGQQZCpsc210WnQBAGQrWnVkLFp2ZQOgd6EAZC1rAlp4ZSJlLGV5ZC5mAhkAZwFkLmYCGQBaemUvZC8ZAFp7ZS9kMBkAWnxHAGQxZDKEAGQygwJafWV9gwBafnoOZQRqf6CAoQBagVcAbhgEAGWCkAN5MgEAAQABAGQAWoFZAG4CMAB6DmUEaoOggKEAWoRXAG4YBABlgpADeVoBAAEAAQBkEFqEWQBuAjAAeg5lBGqFoIChAFqGVwBuGAQAZYKQA3mCAQABAAEAZDNahlkAbgIwAGWBZYRlhmYDWodlhGWGZgJaiGVBaollQWqKZDScAlqLRwBkNWQ2hABkNmUngwNajGULRwBkN2Q4hABkOIMCgwFajWUxRwBkOWQ6hABkOmUwgwODAVqOZTFHAGQ7ZDyEAGQ8ZTCDA4MBWo9lLGWPZY5leWYDGQBakGUkZSxlkGVfZgIZABkAWpFlSIMAWpJHAGQ9ZD6EAGQ+ZYKDA1qTRwBkP2RAhABkQIMCWpRHAGRBZEKEAGRCgwJalUcAZENkRIQAZESDAlqWRwBkRWRGhABkRoMCWpdHAGRHZEiEAGRIgwJamEcAZElkSoQAZEqDAlqZRwBkS2RMhABkTIMCWppkhGWbZSJkTmUiZE5lmmYCGQBmAhkAZE+cAmRQZFGEBVqcZZtkUpwBZFNkVIQEWp1lQWqKZUFqiWVBap5lQWp4ZFWcBFqfZFZkV4QAZZ+goKEARACDAVqhZQtHAGRYZFmEAGRZZQVqooMDgwFao0cAZFpkW4QAZFtlCIMDWqRkAWGlZShkXBkAZaZkXTwAZFxkUpwBZF5kX4QEWqdlm2RSnAFkYGRhhARaqEcAZGJkY4QAZGODAlqpZXlleWRknAJkZWRmhARaqmWrZGdrApAFcuJlqWRNZGiNAVqsZaygrWRpZGpka2RNZGxkAWRtZG5kb2RwZHGcAmRyZHOcBKEHAQBlrKCtZHRkdWWuZayDAaEDAQBlrKCvZAFnAGRNZHZnAGR3ogFkeGR5nANkepwCZGxke2cAZHyiAWR9ZHmcA2R+ZwBkf6IBZIBkeZwDZIGcA2SCnAJkg5wDoQEBAGQBUwAphekAAAAATikC2gNBQkPaDmFic3RyYWN0bWV0aG9kKQLaCWRhdGFjbGFzc9oFZmllbGQpAdoIZGF0ZXRpbWUpAdoFd3JhcHMpAdoHZ2V0cGFzcykB2gZlc2NhcGUpAdoHaXNjbGFzcykB2gZpc2xpY2UpAdoEY2VpbCkB2gltb25vdG9uaWMpA9oJRnJhbWVUeXBl2gpNb2R1bGVUeXBl2g1UcmFjZWJhY2tUeXBlKQ/aAklP2g1UWVBFX0NIRUNLSU5H2gNBbnnaCENhbGxhYmxl2gREaWN02ghJdGVyYWJsZdoETGlzdNoHTWFwcGluZ9oKTmFtZWRUdXBsZdoIT3B0aW9uYWzaBlRleHRJT9oFVHVwbGXaBFR5cGXaBVVuaW9u2gRjYXN0KQLpAwAAAOkIAAAAKQPaB0xpdGVyYWzaCFByb3RvY29s2hFydW50aW1lX2NoZWNrYWJsZekBAAAAKQLaBmVycm9yc9oGdGhlbWVzKQHaDl9lbW9qaV9yZXBsYWNlKQLaE0NPTlNPTEVfSFRNTF9GT1JNQVTaEkNPTlNPTEVfU1ZHX0ZPUk1BVCkC2hJGb3JtYXRUaW1lQ2FsbGFibGXaCUxvZ1JlbmRlcikC2gVBbGlnbtoLQWxpZ25NZXRob2QpAtoLQ29sb3JTeXN0ZW3aCWJsZW5kX3JnYikB2gdDb250cm9sKQHaDEVtb2ppVmFyaWFudCkC2g9OdWxsSGlnaGxpZ2h0ZXLaD1JlcHJIaWdobGlnaHRlcqkB2gZyZW5kZXIpAtoLTWVhc3VyZW1lbnTaE21lYXN1cmVfcmVuZGVyYWJsZXMpAtoFUGFnZXLaC1N5c3RlbVBhZ2VyKQLaBlByZXR0edoNaXNfZXhwYW5kYWJsZSkB2glyaWNoX2Nhc3QpAdoGUmVnaW9uKQHaDHJlbmRlcl9zY29wZSkB2gZTY3JlZW4pAdoHU2VnbWVudCkC2gVTdHlsZdoJU3R5bGVUeXBlqQHaBlN0eWxlZCkD2hZERUZBVUxUX1RFUk1JTkFMX1RIRU1F2hBTVkdfRVhQT1JUX1RIRU1F2g1UZXJtaW5hbFRoZW1lKQLaBFRleHTaCFRleHRUeXBlKQLaBVRoZW1l2gpUaGVtZVN0YWNrKQHaFldpbmRvd3NDb25zb2xlRmVhdHVyZXMpAdoETGl2ZakB2gZTdGF0dXPpcwAAAOlkAAAA2gdXaW5kb3dzckkAAAApBdoHZGVmYXVsdNoEbGVmdNoGY2VudGVy2gVyaWdodNoEZnVsbCkE2gRmb2xk2gRjcm9wWghlbGxpcHNpc9oGaWdub3JlYwAAAAAAAAAAAAAAAAAAAAABAAAAQAAAAHMMAAAAZQBaAWQAWgJkAVMAKQLaCE5vQ2hhbmdlTikD2ghfX25hbWVfX9oKX19tb2R1bGVfX9oMX19xdWFsbmFtZV9fqQByYAAAAHJgAAAA+lUvaG9tZS9obmkvVG9wbWV0YWxTZS1EUFMvdmVudi9saWIvcHl0aG9u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WjBkB2Q3nAFlDmUNZARkOJwDZDlkOoQGWjFkBGQOnAFkO2Q8hARaMmQHZDecAWUOZQ1lM2Q4nANkPWQ+hAZaNGUaZQtlCBkAZA6cAWQ/ZECEBIMBWjVlGmUIZA6cAWRBZEKEBIMBWjZlGmUNZA6cAWRDZESEBIMBWjdlGmUNZA6cAWRFZEaEBIMBWjhlGmU5ZA6cAWRHZEiEBIMBWjplGmU7ZA6cAWRJZEqEBIMBWjxlPGocZT1lEGUQZgIZAGQEZEucAmRMZEqEBIMBWjxlGmUQZA6cAWRNZE6EBIMBWj5lPmocZRBkBGRPnAJkUGROhASDAVo+ZRplEGQOnAFkUWRShASDAVo/ZT9qHGUQZARkU5wCZFRkUoQEgwFaP2QEZA6cAWRVZFaEBFpAZUFkDpwBZFdkWIQEWkJk4WULZUMZAGUNZQ1lRGRZnARkWmRbhAVaRWTiZRBkBGRdnAJkXmRfhAVaRmTjZQ1kBGRgnAJkYWRihAVaR2RjZGRkZWRmZGecBGVIZQhlCGUXZRdkaGRpnAZkamRrhAZaSWTkZQ1lDWRsnAJkbWRuhAVaSmTlZQ1lDWRvnAJkcGRxhAVaS2UaZQ1kDpwBZHJkc4QEgwFaTGUIZQ1kdJwCZHVkdoQEWk1k5mUNZQtlERkAZHdkeJwDZHlkeoQFWk5kBGR7nAFlSGULZTkZAGVPZHycA2R9ZH6EBlpQZOdlSGULZTkZAGVRZR4ZAGR8nANkf2SAhAVaUmToZARkB2QFZIGcA2VIZQtlORkAZQtlUxkAZQ1lDWUdZR1lHhkAGQBkgpwGZINkhIQHWlRkhWQEZARkBGQEZARkBGSGnAdlCGUTZQhlU2YCGQBlC2VVGQBlC2VWGQBlC2UNGQBlC2UNGQBlC2UNGQBlC2VXGQBkh2SInAlkiWSKhAZaWGQEZIucAWUTZQhlU2YCGQBlC2UTZVNlCGYCGQAZAGVTZIycA2SNZI6EBlpZZARkBGQEZARkj5wEZVFlLRkAZQhlCGULZVUZAGULZQ0ZAGULZQ0ZAGULZQ0ZAGUdZVoZAGSQnAhkkWSShAZaW2TpZJNklGSVZJacA2VcZQhlE2UIZVNmAhkAZV1kBGSXnAVkmGSZhAdaXmVfZARkmpwCZJtknIQEWmBknWSeZARkBGSfnARlLWUIZQhlC2UTZQhlU2YCGQAZAGULZQ0ZAGQEZKCcBmShZKKEBlphZJ1knmQEZARkBGQEZARkBGQEZARkBGQHZARkBWSjnA5lLWUIZQhlC2UTZQhlU2YCGQAZAGULZVUZAGULZVYZAGULZQ0ZAGULZQ0ZAGULZQ0ZAGULZQ0ZAGULZRAZAGULZRAZAGUNZQtlDRkAZQ1kBGSknBBkpWSmhAZaYmTqZARkp2QHZAVkB2QHZAdkBGQFZKicCWULZQgZAGUtZRNkBGUQZQhmAxkAZQ1lDWUNZQ1lDWULZRVlLWcBZS1mAhkAGQBlDWQEZKmcC2SqZKuEB1pjZARkBGSsnAJlSGULZWQZAGULZTkZAGQEZK2cBGSuZK+EBlplZOtlHWUdZR4ZABkAZRBlEGQEZLGcBGSyZLOEBVpmZLRktWQEZAVkBWS2ZLRkt5wHZQtlEBkAZRBlC2UIGQBlDWUNZVFlE2UIZWdmAhkAGQBlEGQEZLicCGS5ZLqEBlpoZWllamprZgFlEGUVZwBlC2VsGQBmAhkAZT1lCGUQZW1lCGUtZgIZAGYDGQBku5wDZLxkvYQFgwFabmSdZJ5kBGQEZARkBGQEZAVkXGS+nAllLWUIZQhlC2UTZQhlU2YCGQAZAGULZVUZAGULZQ0ZAGULZQ0ZAGULZQ0ZAGUNZRBkBGS/nAtkwGTBhAZab2QEZA6cAWTCZMOEBFpwZVFlHhkAZQhkxJwCZMVkxoQEWnFk7GQHZAdkBWQEZMecBGVcZQ1lDWUNZQtlchkAZQhkyJwGZMlkyoQHWnNkB2QFZMucAmUNZQ1lCGTMnANkzWTOhAZadGQHZAVky5wCZQhlDWUNZARkz5wEZNBk0YQGWnVkBGQHZARkBWTSnARlC2V2GQBlDWULZQgZAGUNZQhk05wFZNRk1YQGWndkBGQHZXhkBWTSnARlCGULZXYZAGUNZQhlDWQEZNacBmTXZNiEBlp5ZNlkBGQHZXpk2pwEZQhlC2V2GQBlDWUIZQhk25wFZNxk3YQGWntk2WQEZAdlemTanARlCGUIZQtldhkAZQ1lCGQEZN6cBmTfZOCEBlp8ZARTACntcpUAAABhcgwAAEEgaGlnaCBsZXZlbCBjb25zb2xlIGludGVyZmFjZS4KCiAgICBBcmdzOgogICAgICAgIGNvbG9yX3N5c3RlbSAoc3RyLCBvcHRpb25hbCk6IFRoZSBjb2xvciBzeXN0ZW0gc3VwcG9ydGVkIGJ5IHlvdXIgdGVybWluYWwsCiAgICAgICAgICAgIGVpdGhlciBgYCJzdGFuZGFyZCJgYCwgYGAiMjU2ImBgIG9yIGBgInRydWVjb2xvciJgYC4gTGVhdmUgYXMgYGAiYXV0byJgYCB0byBhdXRvZGV0ZWN0LgogICAgICAgIGZvcmNlX3Rlcm1pbmFsIChPcHRpb25hbFtib29sXSwgb3B0aW9uYWwpOiBFbmFibGUvZGlzYWJsZSB0ZXJtaW5hbCBjb250cm9sIGNvZGVzLCBvciBOb25lIHRvIGF1dG8tZGV0ZWN0IHRlcm1pbmFsLiBEZWZhdWx0cyB0byBOb25lLgogICAgICAgIGZvcmNlX2p1cHl0ZXIgKE9wdGlvbmFsW2Jvb2xdLCBvcHRpb25hbCk6IEVuYWJsZS9kaXNhYmxlIEp1cHl0ZXIgcmVuZGVyaW5nLCBvciBOb25lIHRvIGF1dG8tZGV0ZWN0IEp1cHl0ZXIuIERlZmF1bHRzIHRvIE5vbmUuCiAgICAgICAgZm9yY2VfaW50ZXJhY3RpdmUgKE9wdGlvbmFsW2Jvb2xdLCBvcHRpb25hbCk6IEVuYWJsZS9kaXNhYmxlIGludGVyYWN0aXZlIG1vZGUsIG9yIE5vbmUgdG8gYXV0byBkZXRlY3QuIERlZmF1bHRzIHRvIE5vbmUuCiAgICAgICAgc29mdF93cmFwIChPcHRpb25hbFtib29sXSwgb3B0aW9uYWwpOiBTZXQgc29mdCB3cmFwIGRlZmF1bHQgb24gcHJpbnQgbWV0aG9kLiBEZWZhdWx0cyB0byBGYWxzZS4KICAgICAgICB0aGVtZSAoVGhlbWUsIG9wdGlvbmFsKTogQW4gb3B0aW9uYWwgc3R5bGUgdGhlbWUgb2JqZWN0LCBvciBgYE5vbmVgYCBmb3IgZGVmYXVsdCB0aGVtZS4KICAgICAgICBzdGRlcnIgKGJvb2wsIG9wdGlvbmFsKTogVXNlIHN0ZGVyciByYXRoZXIgdGhhbiBzdGRvdXQgaWYgYGBmaWxlYGAgaXMgbm90IHNwZWNpZmllZC4gRGVmYXVsdHMgdG8gRmFsc2UuCiAgICAgICAgZmlsZSAoSU8sIG9wdGlvbmFsKTogQSBmaWxlIG9iamVjdCB3aGVyZSB0aGUgY29uc29sZSBzaG91bGQgd3JpdGUgdG8uIERlZmF1bHRzIHRvIHN0ZG91dC4KICAgICAgICBxdWlldCAoYm9vbCwgT3B0aW9uYWwpOiBCb29sZWFuIHRvIHN1cHByZXNzIGFsbCBvdXRwdXQuIERlZmF1bHRzIHRvIEZhbHNlLgogICAgICAgIHdpZHRoIChpbnQsIG9wdGlvbmFsKTogVGhlIHdpZHRoIG9mIHRoZSB0ZXJtaW5hbC4gTGVhdmUgYXMgZGVmYXVsdCB0byBhdXRvLWRldGVjdCB3aWR0aC4KICAgICAgICBoZWlnaHQgKGludCwgb3B0aW9uYWwpOiBUaGUgaGVpZ2h0IG9mIHRoZSB0ZXJtaW5hbC4gTGVhdmUgYXMgZGVmYXVsdCB0byBhdXRvLWRldGVjdCBoZWlnaHQuCiAgICAgICAgc3R5bGUgKFN0eWxlVHlwZSwgb3B0aW9uYWwpOiBTdHlsZSB0byBhcHBseSB0byBhbGwgb3V0cHV0LCBvciBOb25lIGZvciBubyBzdHlsZS4gRGVmYXVsdHMgdG8gTm9uZS4KICAgICAgICBub19jb2xvciAoT3B0aW9uYWxbYm9vbF0sIG9wdGlvbmFsKTogRW5hYmxlZCBubyBjb2xvciBtb2RlLCBvciBOb25lIHRvIGF1dG8gZGV0ZWN0LiBEZWZhdWx0cyB0byBOb25lLgogICAgICAgIHRhYl9zaXplIChpbnQsIG9wdGlvbmFsKTogTnVtYmVyIG9mIHNwYWNlcyB1c2VkIHRvIHJlcGxhY2UgYSB0YWIgY2hhcmFjdGVyLiBEZWZhdWx0cyB0byA4LgogICAgICAgIHJlY29yZCAoYm9vbCwgb3B0aW9uYWwpOiBCb29sZWFuIHRvIGVuYWJsZSByZWNvcmRpbmcgb2YgdGVybWluYWwgb3V0cHV0LAogICAgICAgICAgICByZXF1aXJlZCB0byBjYWxsIDptZXRoOmBleHBvcnRfaHRtbGAsIDptZXRoOmBleHBvcnRfc3ZnYCwgYW5kIDptZXRoOmBleHBvcnRfdGV4dGAuIERlZmF1bHRzIHRvIEZhbHNlLgogICAgICAgIG1hcmt1cCAoYm9vbCwgb3B0aW9uYWwpOiBCb29sZWFuIHRvIGVuYWJsZSA6cmVmOmBjb25zb2xlX21hcmt1cGAuIERlZmF1bHRzIHRvIFRydWUuCiAgICAgICAgZW1vamkgKGJvb2wsIG9wdGlvbmFsKTogRW5hYmxlIGVtb2ppIGNvZGUuIERlZmF1bHRzIHRvIFRydWUuCiAgICAgICAgZW1vamlfdmFyaWFudCAoc3RyLCBvcHRpb25hbCk6IE9wdGlvbmFsIGVtb2ppIHZhcmlhbnQsIGVpdGhlciAidGV4dCIgb3IgImVtb2ppIi4gRGVmYXVsdHMgdG8gTm9uZS4KICAgICAgICBoaWdobGlnaHQgKGJvb2wsIG9wdGlvbmFsKTogRW5hYmxlIGF1dG9tYXRpYyBoaWdobGlnaHRpbmcuIERlZmF1bHRzIHRvIFRydWUuCiAgICAgICAgbG9nX3RpbWUgKGJvb2wsIG9wdGlvbmFsKTogQm9vbGVhbiB0byBlbmFibGUgbG9nZ2luZyBvZiB0aW1lIGJ5IDptZXRoOmBsb2dgIG1ldGhvZHMuIERlZmF1bHRzIHRvIFRydWUuCiAgICAgICAgbG9nX3BhdGggKGJvb2wsIG9wdGlvbmFsKTogQm9vbGVhbiB0byBlbmFibGUgdGhlIGxvZ2dpbmcgb2YgdGhlIGNhbGxlciBieSA6bWV0aDpgbG9nYC4gRGVmYXVsdHMgdG8gVHJ1ZS4KICAgICAgICBsb2dfdGltZV9mb3JtYXQgKFVuaW9uW3N0ciwgVGltZUZvcm1hdHRlckNhbGxhYmxlXSwgb3B0aW9uYWwpOiBJZiBgYGxvZ190aW1lYGAgaXMgZW5hYmxlZCwgZWl0aGVyIHN0cmluZyBmb3Igc3RyZnRpbWUgb3IgY2FsbGFibGUgdGhhdCBmb3JtYXRzIHRoZSB0aW1lLiBEZWZhdWx0cyB0byAiWyVYXSAiLgogICAgICAgIGhpZ2hsaWdodGVyIChIaWdobGlnaHRlclR5cGUsIG9wdGlvbmFsKTogRGVmYXVsdCBoaWdobGlnaHRlci4KICAgICAgICBsZWdhY3lfd2luZG93cyAoYm9vbCwgb3B0aW9uYWwpOiBFbmFibGUgbGVnYWN5IFdpbmRvd3MgbW9kZSwgb3IgYGBOb25lYGAgdG8gYXV0byBkZXRlY3QuIERlZmF1bHRzIHRvIGBgTm9uZWBgLgogICAgICAgIHNhZmVfYm94IChib29sLCBvcHRpb25hbCk6IFJlc3RyaWN0IGJveCBvcHRpb25zIHRoYXQgZG9uJ3QgcmVuZGVyIG9uIGxlZ2FjeSBXaW5kb3dzLgogICAgICAgIGdldF9kYXRldGltZSAoQ2FsbGFibGVbW10sIGRhdGV0aW1lXSwgb3B0aW9uYWwpOiBDYWxsYWJsZSB0aGF0IGdldHMgdGhlIGN1cnJlbnQgdGltZSBhcyBhIGRhdGV0aW1lLmRhdGV0aW1lIG9iamVjdCAodXNlZCBieSBDb25zb2xlLmxvZyksCiAgICAgICAgICAgIG9yIE5vbmUgZm9yIGRhdGV0aW1lLm5vdy4KICAgICAgICBnZXRfdGltZSAoQ2FsbGFibGVbW10sIHRpbWVdLCBvcHRpb25hbCk6IENhbGxhYmxlIHRoYXQgZ2V0cyB0aGUgY3VycmVudCB0aW1lIGluIHNlY29uZHMsIGRlZmF1bHQgdXNlcyB0aW1lLm1vbm90b25pYy4KICAgINoIX2Vudmlyb27aBGF1dG9ORnIhAAAAVHoEWyVYXSkc2gxjb2xvcl9zeXN0ZW3aDmZvcmNlX3Rlcm1pbmFs2g1mb3JjZV9qdXB5dGVy2hFmb3JjZV9pbnRlcmFjdGl2ZdoJc29mdF93cmFwcrsAAADaBnN0ZGVyctoEZmlsZdoFcXVpZXRyZAAAAHJlAAAAcs8AAADaCG5vX2NvbG9y2gh0YWJfc2l6ZdoGcmVjb3JkcnUAAADaBWVtb2pp2g1lbW9qaV92YXJpYW50cnQAAADaCGxvZ190aW1l2ghsb2dfcGF0aNoPbG9nX3RpbWVfZm9ybWF02gtoaWdobGlnaHRlcnJrAAAA2ghzYWZlX2JveNoMZ2V0X2RhdGV0aW1l2ghnZXRfdGltZXIBAQAAKQVyAgEAAHLsAAAAcu0AAABy7gAAAHLvAAAA2g9IaWdobGlnaHRlclR5cGVjAQAAAAAAAAAcAAAAIQAAAAUAAABDAAAAc1wCAAB8HGQAdQFyDnwcfABfAHwDZAB1AHIcdAGDAG4CfAN8AF8CfABqAnKMfApkAHUAclp8AGoAoANkAaEBfR18HWQAdQFyVnwdoAShAHJWdAV8HYMBfQpuBHQGfQp8C2QAdQByjHwAagCgA2QCoQF9HnweZAB1AXKIfB6gBKEAcoh0BXwegwF9C24E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cm8BAAAmBAAAcwQAAAAADggBeg9Db25zb2xlLmNhcHR1cmUpBHLAAAAAcsEAAABywgAAAHJ3AAAAYwQAAAAAAAAAAAAAAAQAAAAGAAAAQwAAAHMQAAAAdAB8AHwBfAJ8A2QBjQRTACkCYRcDAABBIGNvbnRleHQgbWFuYWdlciB0byBkaXNwbGF5IGFueXRoaW5nIHByaW50ZWQgd2l0aGluIGEgInBhZ2VyIi4gVGhlIHBhZ2VyIGFwcGxpY2F0aW9uCiAgICAgICAgaXMgZGVmaW5lZCBieSB0aGUgc3lzdGVtIGFuZCB3aWxsIHR5cGljYWxseSBzdXBwb3J0IGF0IGxlYXN0IHByZXNzaW5nIGEga2V5IHRvIHNjcm9sbC4KCiAgICAgICAgQXJnczoKICAgICAgICAgICAgcGFnZXIgKFBhZ2VyLCBvcHRpb25hbCk6IEEgcGFnZXIgb2JqZWN0LCBvciBOb25lIHRvIHVzZSA6Y2xhc3M6YH5yaWNoLnBhZ2VyLlN5c3RlbVBhZ2VyYC4gRGVmYXVsdHMgdG8gTm9uZS4KICAgICAgICAgICAgc3R5bGVzIChib29sLCBvcHRpb25hbCk6IFNob3cgc3R5bGVzIGluIHBhZ2VyLiBEZWZhdWx0cyB0byBGYWxzZS4KICAgICAgICAgICAgbGlua3MgKGJvb2wsIG9wdGlvbmFsKTogU2hvdyBsaW5rcyBpbiBwYWdlci4gRGVmYXVsdHMgdG8gRmFsc2UuCgogICAgICAgIEV4YW1wbGU6CiAgICAgICAgICAgID4+PiBmcm9tIHJpY2guY29uc29sZSBpbXBvcnQgQ29uc29sZQogICAgICAgICAgICA+Pj4gZnJvbSByaWNoLl9fbWFpbl9fIGltcG9ydCBtYWtlX3Rlc3RfY2FyZAogICAgICAgICAgICA+Pj4gY29uc29sZSA9IENvbnNvbGUoKQogICAgICAgICAgICA+Pj4gd2l0aCBjb25zb2xlLnBhZ2VyKCk6CiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5wcmludChtYWtlX3Rlc3RfY2FyZCgpKQoKICAgICAgICBSZXR1cm5zOgogICAgICAgICAgICBQYWdlckNvbnRleHQ6IEEgY29udGV4dCBtYW5hZ2VyLgogICAgICAg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cmVlbiB3YXMgZW5hYmxlZC4KCiAgICAgICAgUmV0dXJuczoKICAgICAgICAgICAgYm9vbDogVHJ1ZSBpZiB0aGUgYWx0IHNjcmVlbiB3YXMgZW5hYmxlZCwgb3RoZXJ3aXNlIEZhbHNlLgogICAgICAgICkBcjYBAAByegAAAHJgAAAAcmAAAAByYQAAANoNaXNfYWx0X3NjcmVlbqQEAABzAgAAAAAHehVDb25zb2xlLmlzX2FsdF9zY3JlZW4pAtoFdGl0bGVydwAAAGMCAAAAAAAAAAAAAAACAAAABQAAAEMAAABzHgAAAHwAagByGnwAoAF0AqADfAGhAaEBAQBkAVMAZAJTACkDYRQFAABTZXQgdGhlIHRpdGxlIG9mIHRoZSBjb25zb2xlIHRlcm1pbmFsIHdpbmRvdy4KCiAgICAgICAgV2FybmluZzogVGhlcmUgaXMgbm8gbWVhbnMgd2l0aGluIFJpY2ggb2YgInJlc2V0dGluZyIgdGhlIHdpbmRvdyB0aXRsZSB0byBpdHMKICAgICAgICBwcmV2aW91cyB2YWx1ZSwgbWVhbmluZyB0aGUgdGl0bGUgeW91IHNldCB3aWxsIHBlcnNpc3QgZXZlbiBhZnRlciB5b3VyIGFwcGxpY2F0aW9uCiAgICAgICAgZXhpdHMuCgogICAgICAgIGBgZmlzaGBgIHNoZWxsIHJlc2V0cyB0aGUgd2luZG93IHRpdGxlIGJlZm9yZSBhbmQgYWZ0ZXIgZWFjaCBjb21tYW5kIGJ5IGRlZmF1bHQsCiAgICAgICAgbmVnYXRpbmcgdGhpcyBpc3N1ZS4gV2luZG93cyBUZXJtaW5hbCBhbmQgY29tbWFuZCBwcm9tcHQgd2lsbCBhbHNvIHJlc2V0IHRoZSB0aXRsZSBmb3IgeW91LgogICAgICAgIE1vc3Qgb3RoZXIgc2hlbGxzIGFuZCB0ZXJtaW5hbHMsIGhvd2V2ZXIsIGRvIG5vdCBkbyB0aGlzLgoKICAgICAgICBTb21lIHRlcm1pbmFscyBtYXkgcmVxdWlyZSBjb25maWd1cmF0aW9uIGNoYW5nZXMgYmVmb3JlIHlvdSBjYW4gc2V0IHRoZSB0aXRsZS4KICAgICAgICBTb21lIHRlcm1pbmFscyBtYXkgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgdGl0bGUgYXQgYWxsLgoKICAgICAgICBPdGhlciBzb2Z0d2FyZSAoaW5jbHVkaW5nIHRoZSB0ZXJtaW5hbCBpdHNlbGYsIHRoZSBzaGVsbCwgY3VzdG9tIHByb21wdHMsIHBsdWdpbnMsIGV0Yy4pCiAgICAgICAgbWF5IGFsc28gc2V0IHRoZSB0ZXJtaW5hbCB3aW5kb3cgdGl0bGUuIFRoaXMgY291bGQgcmVzdWx0IGluIHdoYXRldmVyIHZhbHVlIHlvdSB3cml0ZQogICAgICAgIHVzaW5nIHRoaXMgbWV0aG9kIGJlaW5nIG92ZXJ3cml0dGVuLgoKICAgICAgICBBcmdzOgogICAgICAgICAgICB0aXRsZSAoc3RyKTogVGhlIG5ldyB0aXRsZSBvZiB0aGUgdGVybWluYWwgd2luZG93LgoKICAgICAgICBSZXR1cm5zOgogICAgICAgICAgICBib29sOiBUcnVlIGlmIHRoZSBjb250cm9sIGNvZGUgdG8gY2hhbmdlIHRoZSB0ZXJtaW5hbCB0aXRsZSB3YXMKICAgICAgICAgICAgICAgIHdyaXR0ZW4sIG90aGVyd2lzZSBGYWxzZS4gTm90ZSB0aGF0IGEgcmV0dXJuIHZhbHVlIG9mIFRydWUKICAgICAgICAgICAgICAgIGRvZXMgbm90IGd1YXJhbnRlZSB0aGF0IHRoZSB3aW5kb3cgdGl0bGUgaGFzIGFjdHVhbGx5IGNoYW5nZWQsCiAgICAgICAgICAgICAgICBzaW5jZSB0aGUgZmVhdHVyZSBtYXkgYmUgdW5zdXBwb3J0ZWQvZGlzYWJsZWQgaW4gc29tZSB0ZXJtaW5hbHMuCiAgICAgICAgVEYpBHJuAAAAcm0BAAByMQAAAHJ7AQAAKQJyewAAAHJ7AQAAcmAAAAByYAAAAHJhAAAA2hBzZXRfd2luZG93X3RpdGxlrQQAAHMIAAAAABsGARABBAF6GENvbnNvbGUuc2V0X3dpbmRvd190aXRsZXLMAAAAKQNyzgAAAHLPAAAAcncAAABjAwAAAAAAAAAAAAAAAwAAAAUAAABDAAAAcxIAAAB0AHwAfAF8AnAMZAFkAo0DUwApA2F1AQAAQ29udGV4dCBtYW5hZ2VyIHRvIGVuYWJsZSBhbmQgZGlzYWJsZSAnYWx0ZXJuYXRpdmUgc2NyZWVuJyBtb2RlLgoKICAgICAgICBBcmdzOgogICAgICAgICAgICBoaWRlX2N1cnNvciAoYm9vbCwgb3B0aW9uYWwpOiBBbHNvIGhpZGUgdGhlIGN1cnNvci4gRGVmYXVsdHMgdG8gRmFsc2UuCiAgICAgICAgICAgIHN0eWxlIChTdHlsZSwgb3B0aW9uYWwpOiBPcHRpb25hbCBzdHlsZSBmb3Igc2NyZWVuLiBEZWZhdWx0cyB0byBOb25lLgoKICAgICAgICBSZXR1cm5zOgogICAgICAgICAgICB+U2NyZWVuQ29udGV4dDogQ29udGV4dCB3aGljaCBlbmFibGVzIGFsdGVybmF0ZSBzY3JlZW4gb24gZW50ZXIsIGFuZCBkaXNhYmxlcyBpdCBvbiBleGl0LgogICAgICAgIHLNAAAAKQJyzgAAAHLPAAAAKQFyzAAAACkDcnsAAAByzgAAAHLPAAAAcmAAAAByYAAAAHJhAAAActEAAADNBAAAcwIAAAAADHoOQ29uc29sZS5zY3JlZW6pAXKBAAAAKQNy1wAAAHKBAAAAcncAAABjAgAAAAAAAAABAAAABAAAAAUAAABDAAAAcxgAAAB0AKABfAB8AnAOfABqAnwBoQN9A3wDUwApAWHzAQAATWVhc3VyZSBhIHJlbmRlcmFibGUuIFJldHVybnMgYSA6Y2xhc3M6YH5yaWNoLm1lYXN1cmUuTWVhc3VyZW1lbnRgIG9iamVjdCB3aGljaCBjb250YWlucwogICAgICAgIGluZm9ybWF0aW9uIHJlZ2FyZGluZyB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgcmVxdWlyZWQgdG8gcHJpbnQgdGhlIHJlbmRlcmFibGUuCgogICAgICAgIEFyZ3M6CiAgICAgICAgICAgIHJlbmRlcmFibGUgKFJlbmRlcmFibGVUeXBlKTogQW55IHJlbmRlcmFibGUgb3Igc3RyaW5nLgogICAgICAgICAgICBvcHRpb25zIChPcHRpb25hbFtDb25zb2xlT3B0aW9uc10sIG9wdGlvbmFsKTogT3B0aW9ucyB0byB1c2Ugd2hlbiBtZWFzdXJpbmcsIG9yIE5vbmUKICAgICAgICAgICAgICAgIHRvIHVzZSBkZWZhdWx0IG9wdGlv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BYMBZwJuEHQDZAR8BmoKFAB8A4MCZwFnAX0LfAmgDHwLfAoUAKEBAQB8CVcAAgBkAQQABACDAwEAUwAxAHPeMAABAAEAAQBZAAEAZAFTACkGYUcDAABSZW5kZXIgb2JqZWN0cyBpbiB0byBhIGxpc3Qgb2YgbGluZXMuCgogICAgICAgIFRoZSBvdXRwdXQgb2YgcmVuZGVyX2xpbmVzIGlzIHVzZWZ1bCB3aGVuIGZ1cnRoZXIgZm9ybWF0dGluZyBvZiByZW5kZXJlZCBjb25zb2xlIHRleHQKICAgICAgICBpcyByZXF1aXJlZCwgc3VjaCBhcyB0aGUgUGFuZWwgY2xhc3Mgd2hpY2ggZHJhd3MgYSBib3JkZXIgYXJvdW5kIGFueSByZW5kZXJhYmxlIG9iamVjdC4KCiAgICAgICAgQXJnczoKICAgICAgICAgICAgcmVuZGVyYWJsZSAoUmVuZGVyYWJsZVR5cGUpOiBBbnkgb2JqZWN0IHJlbmRlcmFibGUgaW4gdGhlIGNvbnNvbGUuCiAgICAgICAgICAgIG9wdGlvbnMgKE9wdGlvbmFsW0NvbnNvbGVPcHRpb25zXSwgb3B0aW9uYWwpOiBDb25zb2xlIG9wdGlvbnMsIG9yIE5vbmUgdG8gdXNlIHNlbGYub3B0aW9ucy4gRGVmYXVsdCB0byBgYE5vbmVgYC4KICAgICAgICAgICAgc3R5bGUgKFN0eWxlLCBvcHRpb25hbCk6IE9wdGlvbmFsIHN0eWxlIHRvIGFwcGx5IHRvIHJlbmRlcmFibGVzLiBEZWZhdWx0cyB0byBgYE5vbmVgYC4KICAgICAgICAgICAgcGFkIChib29sLCBvcHRpb25hbCk6IFBhZCBsaW5lcyBzaG9ydGVyIHRoYW4gcmVuZGVyIHdpZHRoLiBEZWZhdWx0cyB0byBgYFRydWVgYC4KICAgICAgICAgICAgbmV3X2xpbmVzIChib29sLCBvcHRpb25hbCk6IEluY2x1ZGUgIgoiIGNoYXJhY3RlcnMgYXQgZW5kIG9mIGxpbmVzLgoKICAgICAgICBSZXR1cm5zOgogICAgICAgICAgICBMaXN0W0xpc3RbU2VnbWVudF1dOiBBIGxpc3Qgb2YgbGluZXMsIHdoZXJlIGEgbGluZSBpcyBhIGxpc3Qgb2YgU2VnbWVudCBvYmplY3RzLgogICAgICAgIE5yAQAAACkDWhFpbmNsdWRlX25ld19saW5lc3KDAQAAcs8AAAByOAEAAHKhAAAAKQ1yxAAAAHKBAAAAcjYAAAByQQAAANoLYXBwbHlfc3R5bGVyZQAAAHKDAAAAcuAAAAByCwAAANoUc3BsaXRfYW5kX2Nyb3BfbGluZXNybQAAAHLVAAAA2gZleHRlbmQpDHJ7AAAActcAAABygQAAAHLPAAAAcoMBAAByhAEAANoOcmVuZGVyX29wdGlvbnNaCV9yZW5kZXJlZFoNcmVuZGVyX2hlaWdodHKkAAAA2gtleHRyYV9saW5lc1oIcGFkX2xpbmVyYAAAAHJgAAAAcmEAAADaDHJlbmRlcl9saW5lcx8FAABzPAAAAAAYCAEKAQwBBAEMAgYBCAEKAgIBAgEEAQIBBAECAQIBAvsEBwIBAvcC/wQNCgEOAQgDAv8aAhD9BAUOAnoUQ29uc29sZS5yZW5kZXJfbGluZXNyzQAAACkHcs8AAABycQAAAHJyAAAAcg4BAABydQAAAHJ0AAAAchMBAABySQAAACkJ2gR0ZXh0cs8AAABycQAAAHJyAAAAcg4BAABydQAAAHJ0AAAAchMBAABydwAAAGMCAAAAAAAAAAcAAAAPAAAABgAAAEMAAABztAAAAHwFcBB8BWQBdQBvEHwAagB9CXwGcCJ8BmQBdQBvInwAagF9CnwHcDR8B2QBdQBvNHwAagJ9C3wKclp0A3wBfAJ8CXwAagRkAo0EfQx8A3wMXwV8BHwMXwZuInQHfAlybnQIfAF8AGoEZAONAm4CfAF8A3wEfAJkBI0EfQx8C3KKfAhwjHwAagluAmQBfQ18DWQBdQFysHwNdAp8DIMBgwF9DnwOoAt8DKEBAQB8DlMAfAxTACkFYaYDAABDb252ZXJ0IGEgc3RyaW5nIHRvIGEgVGV4dCBpbnN0YW5jZS4gVGhpcyBpcyBjYWxsZWQgYXV0b21hdGljYWxseSBpZgogICAgICAgIHlvdSBwcmludCBvciBsb2cgYSBzdHJpbmcuCgogICAgICAgIEFyZ3M6CiAgICAgICAgICAgIHRleHQgKHN0cik6IFRleHQgdG8gcmVuZGVyLgogICAgICAgICAgICBzdHlsZSAoVW5pb25bc3RyLCBTdHlsZV0sIG9wdGlvbmFsKTogU3R5bGUgdG8gYXBwbHkgdG8gcmVuZGVyZWQgdGV4dC4KICAgICAgICAgICAganVzdGlmeSAoc3RyLCBvcHRpb25hbCk6IEp1c3RpZnkgbWV0aG9kOiAiZGVmYXVsdCIsICJsZWZ0IiwgImNlbnRlciIsICJmdWxsIiwgb3IgInJpZ2h0Ii4gRGVmYXVsdHMgdG8gYGBOb25lYGAuCiAgICAgICAgICAgIG92ZXJmbG93IChzdHIsIG9wdGlvbmFsKTogT3ZlcmZsb3cgbWV0aG9kOiAiY3JvcCIsICJmb2xkIiwgb3IgImVsbGlwc2lzIi4gRGVmYXVsdHMgdG8gYGBOb25lYGAuCiAgICAgICAgICAgIGVtb2ppIChPcHRpb25hbFtib29sXSwgb3B0aW9uYWwpOiBFbmFibGUgZW1vamksIG9yIGBgTm9uZWBgIHRvIHVzZSBDb25zb2xlIGRlZmF1bHQuCiAgICAgICAgICAgIG1hcmt1cCAoT3B0aW9uYWxbYm9vbF0sIG9wdGlvbmFsKTogRW5hYmxlIG1hcmt1cCwgb3IgYGBOb25lYGAgdG8gdXNlIENvbnNvbGUgZGVmYXVsdC4KICAgICAgICAgICAgaGlnaGxpZ2h0IChPcHRpb25hbFtib29sXSwgb3B0aW9uYWwpOiBFbmFibGUgaGlnaGxpZ2h0aW5nLCBvciBgYE5vbmVgYCB0byB1c2UgQ29uc29sZSBkZWZhdWx0LgogICAgICAgICAgICBoaWdobGlnaHRlciAoSGlnaGxpZ2h0ZXJUeXBlLCBvcHRpb25hbCk6IE9wdGlvbmFsIGhpZ2hsaWdodGVyIHRvIGFwcGx5LgogICAgICAgIFJldHVybnM6CiAgICAgICAgICAgIENvbnNvbGVSZW5kZXJhYmxlOiBSZW5kZXJhYmxlIG9iamVjdC4KCiAgICAgICAgTikDcs8AAAByDgEAAHIPAQAAKQFaD2RlZmF1bHRfdmFyaWFudCkDcnEAAABycgAAAHLPAAAAKQxyIAEAAHIfAQAAciIBAADaDXJlbmRlcl9tYXJrdXByIQEAAHJxAAAAcnIAAABySQAAAHIoAAAAchMBAAByjAAAAFoLY29weV9zdHlsZXMpD3J7AAAAcosBAAByzwAAAHJxAAAAcnIAAAByDgEA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ICAgIGVuZCAoc3RyLCBvcHRpb25hbCk6IFN0cmluZyB0byB3cml0ZSBhdCBlbmQgb2YgcHJpbnQgZGF0YS4gRGVmYXVsdHMgdG8gIlxcbiIuCiAgICAgICAgICAgIHN0eWxlIChVbmlvbltzdHIsIFN0eWxlXSwgb3B0aW9uYWwpOiBBIHN0eWxlIHRvIGFwcGx5IHRvIG91dHB1dC4gRGVmYXVsdHMgdG8gTm9uZS4KICAgICAgICAgICAganVzdGlmeSAoc3RyLCBvcHRpb25hbCk6IEp1c3RpZnkgbWV0aG9kOiAiZGVmYXVsdCIsICJsZWZ0IiwgInJpZ2h0IiwgImNlbnRlciIsIG9yICJmdWxsIi4gRGVmYXVsdHMgdG8gYGBOb25lYGAuCiAgICAgICAgICAgIG92ZXJmbG93IChzdHIsIG9wdGlvbmFsKTogT3ZlcmZsb3cgbWV0aG9kOiAiaWdub3JlIiwgImNyb3AiLCAiZm9sZCIsIG9yICJlbGxpcHNpcyIuIERlZmF1bHRzIHRvIE5vbmUuCiAgICAgICAgICAgIG5vX3dyYXAgKE9wdGlvbmFsW2Jvb2xdLCBvcHRpb25hbCk6IERpc2FibGUgd29yZCB3cmFwcGluZy4gRGVmYXVsdHMgdG8gTm9uZS4KICAgICAgICAgICAgZW1vamkgKE9wdGlvbmFsW2Jvb2xdLCBvcHRpb25hbCk6IEVuYWJsZSBlbW9qaSBjb2RlLCBvciBgYE5vbmVgYCB0byB1c2UgY29uc29sZSBkZWZhdWx0LiBEZWZhdWx0cyB0byBgYE5vbmVgYC4KICAgICAgICAgICAgbWFya3VwIChPcHRpb25hbFtib29sXSwgb3B0aW9uYWwpOiBFbmFibGUgbWFya3VwLCBvciBgYE5vbmVgYCB0byB1c2UgY29uc29sZSBkZWZhdWx0LiBEZWZhdWx0cyB0byBgYE5vbmVgYC4KICAgICAgICAgICAgaGlnaGxpZ2h0IChPcHRpb25hbFtib29sXSwgb3B0aW9uYWwpOiBFbmFibGUgYXV0b21hdGljIGhpZ2hsaWdodGluZywgb3IgYGBOb25lYGAgdG8gdXNlIGNvbnNvbGUgZGVmYXVsdC4gRGVmYXVsdHMgdG8gYGBOb25lYGAuCiAgICAgICAgICAgIHdpZHRoIChPcHRpb25hbFtpbnRdLCBvcHRpb25hbCk6IFdpZHRoIG9mIG91dHB1dCwgb3IgYGBOb25lYGAgdG8gYXV0by1kZXRlY3QuIERlZmF1bHRzIHRvIGBgTm9uZWBgLgogICAgICAgICAgICBjcm9wIChPcHRpb25hbFtib29sXSwgb3B0aW9uYWwpOiBDcm9wIG91dHB1dCB0byB3aWR0aCBvZiB0ZXJtaW5hbC4gRGVmYXVsdHMgdG8gVHJ1ZS4KICAgICAgICAgICAgc29mdF93cmFwIChib29sLCBvcHRpb25hbCk6IEVuYWJsZSBzb2Z0IHdyYXAgbW9kZSB3aGljaCBkaXNhYmxlcyB3b3JkIHdyYXBwaW5nIGFuZCBjcm9wcGluZyBvZiB0ZXh0IG9yIGBgTm9uZWBgIGZvcgogICAgICAgICAgICAgICAgQ29uc29sZSBkZWZhdWx0LiBEZWZhdWx0cyB0byBgYE5vbmVgYC4KICAgICAgICAgICAgbmV3X2xpbmVfc3RhcnQgKGJvb2wsIEZhbHNlKTogSW5zZXJ0IGEgbmV3IGxpbmUgYXQgdGhlIHN0YXJ0IGlmIHRoZSBvdXRwdXQgY29udGFpbnMgbW9yZSB0aGFuIG9uZSBsaW5lLiBEZWZhdWx0cyB0byBgYEZhbHNlYGAuCiAgICAgICAgTlRyWwAAAEZykgEAACkHcnEAAABycgAAAHJkAAAAcmUAAABycwAAAHJ1AAAAcnQAAAByzQAAAGMBAAAAAAAAAAAAAAACAAAAAgAAAHMAAABzFAAAAHwAXQx9AXwBagBWAAEAcQJkAFMAcpMAAACpAXKLAQAAqQJy8AAAAHKgAQAAcmAAAAByYAAAAHJhAAAAcqIBAACTBgAAcvQAAAB6IENvbnNvbGUucHJpbnQuPGxvY2Fscz4uPGdlbmV4cHI+ciUAAAByAQAAAKkBcoMBAAApFnKcAAAAcgcBAAByNAEAAHKbAQAAcvoAAABygQAAAHKEAAAA2gNtaW5yZAAAAHKQAAAAcocBAAByNgAAAHJBAAAAcoUBAABykAEAAHLVAAAAcpcBAADaCnNwbGl0bGluZXPaBmluc2VydHKrAAAAcsUAAAByhgEAACkacnsAAABylAEAAHLUAAAAcs8AAABycQAAAHJyAAAAcnMAAAByDgEAAHJ1AAAAcnQAAAByZAAAAHJlAAAAcloAAAByBwEAAHKkAQAAcpMBAADaDHJlbmRlcl9ob29rc3LTAAAAclMBAAByiAEAANoMbmV3X3NlZ21lbnRzcocBAAByNgAAAHLXAAAA2g1idWZmZXJfZXh0ZW5kcqsAAAByYAAAAHJgAAAAcmEAAABy2AAAAD0GAABzcgAAAAAlBAEIAggBBgEEAQgBBAEIAQQBBAEOAQgBBAECAQIBAgECAQIBAgEC+QYJCAEMAQYBAgECARYBAgECAQIBAvkGCgQBBgEGAQgBCAESAggBAgEEARD/Av8GBQYCGgEC/wL/BAQQAQYBCAEEAQj/CgMOAnoNQ29uc29sZS5wcmludHJiAAAAKQnaBGRhdGHaBmluZGVudHJ0AAAA2glza2lwX2tleXPaDGVuc3VyZV9hc2NpadoOY2hlY2tfY2lyY3VsYXLaCWFsbG93X25hbnJUAAAA2glzb3J0X2tleXMpC9oEanNvbnKuAQAAcq8BAABydAAAAHKwAQAAcrEBAABysgEAAHKzAQAAclQAAABytAEAAHJ3AAAAYwIAAAAAAAAACQAAAA0AAAALAAAAQwAAAHN4AAAAZAFkAmwAbQF9CwEAfAFkA3UAcjJ8C2oCfAJ8A3wEfAV8BnwHfAh8CXwKZASNCX0MbjR0A3wBdASDAnNMdAVkBXwBmwJkBp0DgwGCAXwLfAF8A3wEfAV8BnwHfAh8CXwKZASNCX0MfABqBnwMZAdkCI0CAQBkA1MAKQlh8wMAAFByZXR0eSBwcmludHMgSlNPTi4gT3V0cHV0IHdpbGwgYmUgdmFsaWQgSlNPTi4KCiAgICAgICAgQXJnczoKICAgICAgICAgICAganNvbiAoT3B0aW9uYWxbc3RyXSk6IEEgc3RyaW5nIGNvbnRhaW5pbmcgSlNPTi4KICAgICAgICAgICAgZGF0YSAoQW55KTogSWYganNvbiBpcyBub3Qgc3VwcGxpZWQsIHRoZW4gZW5jb2RlIHRoaXMgZGF0YS4KICAgICAgICAgICAgaW5kZW50IChVbmlvbltOb25lLCBpbnQsIHN0cl0sIG9wdGlvbmFsKTogTnVtYmVyIG9mIHNwYWNlcyB0byBpbmRlbnQuIERlZmF1bHRzIHRvIDIuCiAgICAgICAgICAgIGhpZ2hsaWdodCAoYm9vbCwgb3B0aW9uYWwpOiBFbmFibGUgaGlnaGxpZ2h0aW5nIG9mIG91dHB1dDogRGVmYXVsdHMgdG8gVHJ1ZS4KICAgICAgICAgICAgc2tpcF9rZXlzIChib29sLCBvcHRpb25hbCk6IFNraXAga2V5cyBub3Qgb2YgYSBiYXNpYyB0eXBlLiBEZWZhdWx0cyB0byBGYWxzZS4KICAgICAgICAgICAgZW5zdXJlX2FzY2lpIChib29sLCBvcHRpb25hbCk6IEVzY2FwZSBhbGwgbm9uLWFzY2lpIGNoYXJhY3RlcnMuIERlZmF1bHRzIHRvIEZhbHNlLgogICAgICAgICAgICBjaGVja19jaXJjdWxhciAoYm9vbCwgb3B0aW9uYWwpOiBDaGVjayBmb3IgY2lyY3VsYXIgcmVmZXJlbmNlcy4gRGVmYXVsdHMgdG8gVHJ1ZS4KICAgICAgICAgICAgYWxsb3dfbmFuIChib29sLCBvcHRpb25hbCk6IEFsbG93IE5hTiBhbmQgSW5maW5pdHkgdmFsdWVzLiBEZWZhdWx0cyB0byBUcnVlLgogICAgICAgICAgICBkZWZhdWx0IChDYWxsYWJsZSwgb3B0aW9uYWwpOiBBIGNhbGxhYmxlIHRoYXQgY29udmVydHMgdmFsdWVzIHRoYXQgY2FuIG5vdCBiZSBlbmNvZGVkCiAgICAgICAgICAgICAgICBpbiB0byBzb21ldGhpbmcgdGhhdCBjYW4gYmUgSlNPTiBlbmNvZGVkLiBEZWZhdWx0cyB0byBOb25lLgogICAgICAgICAgICBzb3J0X2tleXMgKGJvb2wsIG9wdGlvbmFsKTogU29ydCBkaWN0aW9uYXJ5IGtleXMuIERlZmF1bHRzIHRvIEZhbHNlLgogICAgICAgIHIBAAAAKQHaBEpTT05OKQhyrwEAAHJ0AAAAcrABAABysQEAAHKyAQAAcrMBAAByVAAAAHK0AQAAei9qc29uIG11c3QgYmUgc3RyLiBEaWQgeW91IG1lYW4gcHJpbnRfanNvbihkYXRhPXoDKSA/VCkBcgcBAAApB1oVcGlwLl92ZW5kb3IucmljaC5qc29ucrYBAABaCWZyb21fZGF0YXKCAAAAcowAAABygQEAAHLYAAAAKQ1yewAAAHK1AQAAcq4BAAByrwEAAHJ0AAAA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cHByZXNz2gptYXhfZnJhbWVzKQhyZAAAAHKJAQAAcrsAAAByvgEAAHK/AQAAcsABAABywQEAAHJ3AAAAYwEAAAAAAAAABwAAAAoAAAAJAAAAQwAAAHMwAAAAZAFkAmwAbQF9CAEAfAh8AXwCfAN8BHwFfAZ8B2QDjQd9CXwAoAJ8CaEBAQBkBFMAKQVhDQMAAFByaW50cyBhIHJpY2ggcmVuZGVyIG9mIHRoZSBsYXN0IGV4Y2VwdGlvbiBhbmQgdHJhY2ViYWNrLgoKICAgICAgICBBcmdzOgogICAgICAgICAgICB3aWR0aCAoT3B0aW9uYWxbaW50XSwgb3B0aW9uYWwpOiBOdW1iZXIgb2YgY2hhcmFjdGVycyB1c2VkIHRvIHJlbmRlciBjb2RlLiBEZWZhdWx0cyB0byAxMDAuCiAgICAgICAgICAgIGV4dHJhX2xpbmVzIChpbnQsIG9wdGlvbmFsKTogQWRkaXRpb25hbCBsaW5lcyBvZiBjb2RlIHRvIHJlbmRlci4gRGVmYXVsdHMgdG8gMy4KICAgICAgICAgICAgdGhlbWUgKHN0ciwgb3B0aW9uYWwpOiBPdmVycmlkZSBweWdtZW50cyB0aGVtZSB1c2VkIGluIHRyYWNlYmFjawogICAgICAgICAgICB3b3JkX3dyYXAgKGJvb2wsIG9wdGlvbmFsKTogRW5hYmxlIHdvcmQgd3JhcHBpbmcgb2YgbG9uZyBsaW5lcy4gRGVmYXVsdHMgdG8gRmFsc2UuCiAgICAgICAgICAgIHNob3dfbG9jYWxzIChib29sLCBvcHRpb25hbCk6IEVuYWJsZSBkaXNwbGF5IG9mIGxvY2FsIHZhcmlhYmxlcy4gRGVmYXVsdHMgdG8gRmFsc2UuCiAgICAgICAgICAgIHN1cHByZXNzIChJdGVyYWJsZVtVbmlvbltzdHIsIE1vZHVsZVR5cGVdXSk6IE9wdGlvbmFsIHNlcXVlbmNlIG9mIG1vZHVsZXMgb3IgcGF0aHMgdG8gZXhjbHVkZSBmcm9tIHRyYWNlYmFjay4KICAgICAgICAgICAgbWF4X2ZyYW1lcyAoaW50KTogTWF4aW11bSBudW1iZXIgb2YgZnJhbWVzIHRvIHNob3cgaW4gYSB0cmFjZWJhY2ssIDAgZm9yIG5vIG1heGltdW0u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IHRvIHRoZSB0ZXJtaW5hbC4KICAgICAgICAgICAgc2VwIChzdHIsIG9wdGlvbmFsKTogU3RyaW5nIHRvIHdyaXRlIGJldHdlZW4gcHJpbnQgZGF0YS4gRGVmYXVsdHMgdG8gIiAiLgogICAgICAgICAgICBlbmQgKHN0ciwgb3B0aW9uYWwpOiBTdHJpbmcgdG8gd3JpdGUgYXQgZW5kIG9mIHByaW50IGRhdGEuIERlZmF1bHRzIHRvICJcXG4iLgogICAgICAgICAgICBzdHlsZSAoVW5pb25bc3RyLCBTdHlsZV0sIG9wdGlvbmFsKTogQSBzdHlsZSB0byBhcHBseSB0byBvdXRwdXQuIERlZmF1bHRzIHRvIE5vbmUuCiAgICAgICAgICAgIGp1c3RpZnkgKHN0ciwgb3B0aW9uYWwpOiBPbmUgb2YgImxlZnQiLCAicmlnaHQiLCAiY2VudGVyIiwgb3IgImZ1bGwiLiBEZWZhdWx0cyB0byBgYE5vbmVgYC4KICAgICAgICAgICAgb3ZlcmZsb3cgKHN0ciwgb3B0aW9uYWwpOiBPdmVyZmxvdyBtZXRob2Q6ICJjcm9wIiwgImZvbGQiLCBvciAiZWxsaXBzaXMiLiBEZWZhdWx0cyB0byBOb25lLgogICAgICAgICAgICBlbW9qaSAoT3B0aW9uYWxbYm9vbF0sIG9wdGlvbmFsKTogRW5hYmxlIGVtb2ppIGNvZGUsIG9yIGBgTm9uZWBgIHRvIHVzZSBjb25zb2xlIGRlZmF1bHQuIERlZmF1bHRzIHRvIE5vbmUuCiAgICAgICAgICAgIG1hcmt1cCAoT3B0aW9uYWxbYm9vbF0sIG9wdGlvbmFsKTogRW5hYmxlIG1hcmt1cCwgb3IgYGBOb25lYGAgdG8gdXNlIGNvbnNvbGUgZGVmYXVsdC4gRGVmYXVsdHMgdG8gTm9uZS4KICAgICAgICAgICAgaGlnaGxpZ2h0IChPcHRpb25hbFtib29sXSwgb3B0aW9uYWwpOiBFbmFibGUgYXV0b21hdGljIGhpZ2hsaWdodGluZywgb3IgYGBOb25lYGAgdG8gdXNlIGNvbnNvbGUgZGVmYXVsdC4gRGVmYXVsdHMgdG8gTm9uZS4KICAgICAgICAgICAgbG9nX2xvY2FscyAoYm9vbCwgb3B0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AQEAVwBkBQQABACDAwEAbhAxAHNAMAABAAEAAQBZAAEAZAVTACkGYUADAABHZW5lcmF0ZSBIVE1MIGZyb20gY29uc29sZSBjb250ZW50cyBhbmQgd3JpdGUgdG8gYSBmaWxlIChyZXF1aXJlcyByZWNvcmQ9VHJ1ZSBhcmd1bWVudCBpbiBjb25zdHJ1Y3RvcikuCgogICAgICAgIEFyZ3M6CiAgICAgICAgICAgIHBhdGggKHN0cik6IFBhdGggdG8gd3JpdGUgaHRtbCBmaWxlLgogICAgICAgICAgICB0aGVtZSAoVGVybWluYWxUaGVtZSwgb3B0aW9uYWwpOiBUZXJtaW5hbFRoZW1lIG9iamVjdCBjb250YWluaW5nIGNvbnNvbGUgY29sb3JzLgogICAgICAgICAgICBjbGVhciAoYm9vbCwgb3B0aW9uYWwpOiBDbGVhciByZWNvcmQgYnVmZmVyIGFmdGVyIGV4cG9ydGluZy4gRGVmYXVsdHMgdG8gYGBUcnVlYGAuCiAgICAgICAgICAgIGNvZGVfZm9ybWF0IChzdHIsIG9wdGlvbmFsKTogRm9ybWF0IHN0cmluZyB0byByZW5kZXIgSFRNTC4gSW4gYWRkaXRpb24gdG8gJ3tmb3JlZ3JvdW5kfScsCiAgICAgICAgICAgICAgICAne2JhY2tncm91bmR9JywgYW5kICd7Y29kZX0nLCBzaG91bGQgY29udGFpbiAne3N0eWxlc2hlZXR9JyBpZiBpbmxpbmVfc3R5bGVzIGlzIGBgRmFsc2VgYC4KICAgICAgICAgICAgaW5saW5lX3N0eWxlcyAoYm9vbCwgb3B0aW9uYWwpOiBJZiBgYFRydWVgYCBzdHlsZXMgd2lsbCBiZSBpbmxpbmVkIGluIHRvIHNwYW5zLCB3aGljaCBtYWtlcyBmaWxlcwogICAgICAgICAgICAgICAgbGFyZ2VyIGJ1dCBlYXNpZXIgdG8gY3V0IGFuZCBwYXN0ZSBtYXJrdXAuIElmIGBgRmFsc2VgYCwgc3R5bGVzIHdpbGwgYmUgZW1iZWRkZWQgaW4gYSBzdHlsZSB0YWcuCiAgICAgICAgICAgICAgICBEZWZhdWx0cyB0byBGYWxzZS4KCiAgICAgICAgcvkBAABy9AEAAHJfAQAAcvUBAABOKQNy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