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AABahQBklwCEAABahgBlhABkmABlIACDAAFwIgdlCABqCgBkmQBrAgBwIgdlFABqhwBkmgCDAQBaiABlDQBqiQBliABkmwCDAgBaigBkBABknACEAQBaiwBknQCEAABajABkngCEAABajQBknwCEAABajgBkoACEAABajwBlAwBqHQBkoQCEAACDAQBakABkogCEAABakQBkowCEAABakgBkpACEAABakwBkBABTKK8AAABzNwAAAFN1cHBvcnRpbmcgZGVmaW5pdGlvbnMgZm9yIHRoZSBQeXRob24gcmVncmVzc2lvbiB0ZXN0cy5zEQAAAHRlc3QudGVzdF9zdXBwb3J0czMAAAB0ZXN0X3N1cHBvcnQgbXVzdCBiZSBpbXBvcnRlZCBmcm9tIHRoZSB0ZXN0IHBhY2thZ2Vp/////050BQAAAEVycm9ydAoAAABUZXN0RmFpbGVkdA4AAABSZXNvdXJjZURlbmllZHQNAAAAaW1wb3J0X21vZHVsZXQHAAAAdmVyYm9zZXQNAAAAdXNlX3Jlc291cmNlc3QKAAAAbWF4X21lbXVzZXQWAAAAcmVjb3JkX29yaWdpbmFsX3N0ZG91dHQTAAAAZ2V0X29yaWdpbmFsX3N0ZG91dHQGAAAAdW5sb2FkdAYAAAB1bmxpbmt0BgAAAHJtdHJlZXQGAAAAZm9yZ2V0dBMAAABpc19yZXNvdXJjZV9lbmFibGVkdAgAAAByZXF1aXJlc3QQAAAAZmluZF91bnVzZWRfcG9ydHQJAAAAYmluZF9wb3J0dAQAAABmY21wdAwAAABoYXZlX3VuaWNvZGV0CQAAAGlzX2p5dGhvbnQGAAAAVEVTVEZOdAQAAABIT1NUdAQAAABGVVpadAgAAABTQVZFRENXRHQIAAAAdGVtcF9jd2R0CAAAAGZpbmRmaWxldAgAAABzb3J0ZGljdHQSAAAAY2hlY2tfc3ludGF4X2Vycm9ydBAAAABvcGVuX3VybHJlc291cmNldA4AAABjaGVja193YXJuaW5nc3QTAAAAY2hlY2tfcHkza193YXJuaW5nc3QLAAAAQ2xlYW5JbXBvcnR0EwAAAEVudmlyb25tZW50VmFyR3VhcmR0DwAAAGNhcHR1cmVkX291dHB1dHQPAAAAY2FwdHVyZWRfc3Rkb3V0dBEAAABUcmFuc2llbnRSZXNvdXJjZXQSAAAAdHJhbnNpZW50X2ludGVybmV0dA8AAABydW5fd2l0aF9sb2NhbGV0DAAAAHNldF9tZW1saW1pdHQKAAAAYmlnbWVtdGVzdHQQAAAAYmlnYWRkcnNwYWNldGVzdHQPAAAAQmFzaWNUZXN0UnVubmVydAwAAABydW5fdW5pdHRlc3R0CwAAAHJ1bl9kb2N0ZXN0dA8AAAB0aHJlYWRpbmdfc2V0dXB0EQAAAHRocmVhZGluZ19jbGVhbnVwdA0AAAByZWFwX2NoaWxkcmVudAwAAABjcHl0aG9uX29ubHl0EQAAAGNoZWNrX2ltcGxfZGV0YWlsdA0AAABnZXRfYXR0cmlidXRldAoAAABweTNrX2J5dGVzdBMAAABpbXBvcnRfZnJlc2hfbW9kdWxldBMAAABzdHJpcF9weXRob25fc3RkZXJyYwAAAAAAAAAAAQAAAEIAAABzDgAAAGUAAFoBAGQAAFoCAFJTKAEAAABzKgAAAEJhc2UgY2xhc3MgZm9yIHJlZ3Jlc3Npb24gdGVzdCBleGNlcHRpb25zLigDAAAAdAgAAABfX25hbWVfX3QKAAAAX19tb2R1bGVfX3QHAAAAX19kb2NfXygAAAAAKAAAAAAoAAAAAHNYAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weVIAAAAALQAAAHMCAAAABgFjAAAAAAAAAAABAAAAQgAAAHMOAAAAZQAAWgEAZAAAWgIAUlMoAQAAAHMMAAAAVGVzdCBmYWlsZWQuKAMAAABSNQAAAFI2AAAAUjcAAAAoAAAAACgAAAAAKAAAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHlSAQAAADAAAABzAgAAAAYBYwAAAAAAAAAAAQAAAEIAAABzDgAAAGUAAFoBAGQAAFoCAFJTKAEAAABz4gAAAFRlc3Qgc2tpcHBlZCBiZWNhdXNlIGl0IHJlcXVlc3RlZCBhIGRpc2FsbG93ZWQgcmVzb3VyY2UuCgogICAgVGhpcyBpcyByYWlzZWQgd2hlbiBhIHRlc3QgY2FsbHMgcmVxdWlyZXMoKSBmb3IgYSByZXNvdXJjZSB0aGF0CiAgICBoYXMgbm90IGJlZW4gZW5hYmxlZC4gIEl0IGlzIHVzZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiBleHBlY3RlZAogICAgYW5kIHVuZXhwZWN0ZWQgc2tpcHMuCiAgICAoAwAAAFI1AAAAUjYAAABSNwAAACgAAAAAKAAAAAAoAAAAAHNYAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weVICAAAAMwAAAHMCAAAABgZjAQAAAAEAAAAIAAAAYwAAAHM9AAAAfAAAcjQAdAAAagEAgwAAjx0AAXQAAGoCAGQBAGQCAHQDAIMDAAFkAwBWAVdkAwBRWG4FAGQDAFYBZAMAUygEAAAAc5kAAABDb250ZXh0IG1hbmFnZXIgdG8gc3VwcHJlc3MgcGFja2FnZSBhbmQgbW9kdWxlIGRlcHJlY2F0aW9uCiAgICB3YXJuaW5ncyB3aGVuIGltcG9ydGluZyB0aGVtLgoKICAgIElmIGlnbm9yZSBpcyBGYWxzZSwgdGhpcyBjb250ZXh0IG1hbmFnZXIgaGFzIG5vIGVmZmVjdC50BgAAAGlnbm9yZXMTAAAALisgKG1vZHVsZXxwYWNrYWdlKU4oBAAAAHQIAAAAd2FybmluZ3N0DgAAAGNhdGNoX3dhcm5pbmdzdA4AAABmaWx0ZXJ3YXJuaW5nc3QSAAAARGVwcmVjYXRpb25XYXJuaW5nKAEAAABSOAAAACgAAAAAKAAAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHl0GgAAAF9pZ25vcmVfZGVwcmVjYXRlZF9pbXBvcnRzOwAAAHMMAAAAAAYGAQ0BDAEHAQ4CYwIAAAADAAAACQAAAEMAAABzUwAAAHQAAHwBAIMBAI9BAAF5EQB0AQBqAgB8AACDAQBTV24oAAR0AwBrCgBy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IGRlbGliZXJhdGVseSBieXBhc3NpbmcgdGhlIHN5cy5tb2R1bGVzIGNhY2hlCiAgICBhbmQgaW1wb3J0aW5nIGEgZnJlc2ggY29weSBvZiB0aGUgbW9kdWxlLiBPbmNlIHRoZSBpbXBvcnQgaXMgY29tcGxldGUsCiAgICB0aGUgc3lzLm1vZHVsZXMgY2FjaGUgaXMgcmVzdG9yZWQgdG8gaXRzIG9yaWdpbmFsIHN0YXRlLgoKICAgIE1vZHVsZXMgbmFtZWQgaW4gZnJlc2ggYXJlIGFsc28gaW1wb3J0ZWQgYW5ldyBpZiBuZWVkZWQgYnkgdGhlIGltcG9ydC4KICAgIElmIG9uZSBvZiB0aGVzZSBtb2R1bGVzIGNhbid0IGJlIGltcG9ydGVkLCBOb25lIGlzIHJldHVybmVkLgoKICAgIEltcG9ydGluZyBvZiBtb2R1bGVzIG5hbWVkIGluIGJsb2NrZWQgaXMgcHJldmVudGVkIHdoaWxlIHRoZSBmcmVzaCBpbXBvcnQKICAgIHRha2VzIHBsYWNlLgoKICAgIElmIGRlcHJlY2F0ZWQgaXMgVHJ1ZSwgYW55IG1vZHVsZSBvciBwYWNrYWdlIGRlcHJlY2F0aW9uIG1lc3NhZ2VzCiAgICB3aWxsIGJlIHN1cHByZXNzZWQuTigLAAAAUj0AAABSTgAAAFJUAAAAdAYAAABhcHBlbmRSPgAAAFIDAAAAUj8AAABSUgAAAHQFAAAAaXRlbXNSRwAAAFJIAAAAKAwAAABSQwAAAHQFAAAAZnJlc2h0BwAAAGJsb2NrZWRSRAAAAFJMAAAAdA8AAABuYW1lc190b19yZW1vdmV0CgAAAGZyZXNoX25hbWV0DAAAAGJsb2NrZWRfbmFtZXQMAAAAZnJlc2hfbW9kdWxldAkAAABvcmlnX25hbWV0BgAAAG1vZHVsZXQOAAAAbmFtZV90b19yZW1vdmUoAAAAACgAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5UjMAAABxAAAAcyYAAAAADw0DBgEGAQ0BAwADAQ0BEQENAQ8BFAETAQ0BDgIZAREBDQEPAWMCAAAA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aGUKICAgIHBvc3NpYmlsaXR5IG9mIEZhbHNlIGJlaW5nIHJldHVybmVkIG9jY3VycyB3aGVuIHJlZ3J0ZXN0LnB5IGlzIGV4ZWN1dGluZy5pAQAAAFI1AAAAdAgAAABfX21haW5fX05zJAAAAFVzZSBvZiB0aGUgYCVzJyByZXNvdXJjZSBub3QgZW5hYmxlZCgHAAAAUkcAAAB0CQAAAF9nZXRmcmFtZXQJAAAAZl9nbG9iYWxzdAMAAABnZXRSDQAAAFJSAAAAUgIAAAAoAgAAAFKJAAAAUkUAAAAoAAAAACgAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5Ug4AAAAXAQAAcwwAAAAAByEBBAEMAQwBDQF0CQAAAGxvY2FsaG9zdGMCAAAABAAAAAMAAABDAAAAcy8AAAB0AABqAAB8AAB8AQCDAgB9AgB0AQB8AgCDAQB9AwB8AgBqAgCDAAABfgIAfAMAUygBAAAAc+4NAABSZXR1cm5zIGFuIHVudXNlZCBwb3J0IHRoYXQgc2hvdWxkIGJlIHN1aXRhYmxlIGZvciBiaW5kaW5nLiAgVGhpcyBpcwogICAgYWNoaWV2ZWQgYnkgY3JlYXRpbmcgYSB0ZW1wb3Jhcnkgc29ja2V0IHdpdGggdGhlIHNhbWUgZmFtaWx5IGFuZCB0eXBlIGFzCiAgICB0aGUgJ3NvY2snIHBhcmFtZXRlciAoZGVmYXVsdCBpcyBBRl9JTkVULCBTT0NLX1NUUkVBTSksIGFuZCBiaW5kaW5nIGl0IHRvCiAgICB0aGUgc3BlY2lmaWVkIGhvc3QgYWRkcmVzcyAoZGVmYXVsdHMgdG8gMC4wLjAuMCkgd2l0aCB0aGUgcG9ydCBzZXQgdG8gMCwKICAgIGVsaWNpdGluZyBhbiB1bnVzZWQgZXBoZW1lcmFsIHBvcnQgZnJvbSB0aGUgT1MuICBUaGUgdGVtcG9yYXJ5IHNvY2tldCBpcwogICAgdGhlbiBjbG9zZWQgYW5kIGRlbGV0ZWQsIGFuZCB0aGUgZXBoZW1lcmFsIHBvcnQgaXMgcmV0dXJuZWQuCgogICAgRWl0aGVyIHRoaXMgbWV0aG9kIG9yIGJpbmRfcG9ydCgpIHNob3VsZCBiZSB1c2VkIGZvciBhbnkgdGVzdHMgd2hlcmUgYQogICAgc2VydmVyIHNvY2tldCBuZWVkcyB0byBiZSBib3VuZCB0byBhIHBhcnRpY3VsYXIgcG9ydCBmb3IgdGhlIGR1cmF0aW9uIG9mCiAgICB0aGUgdGVzdC4gIFdoaWNoIG9uZSB0byB1c2UgZGVwZW5kcyBvbiB3aGV0aGVyIHRoZSBjYWxsaW5nIGNvZGUgaXMgY3JlYXRpbmcKICAgIGEgcHl0aG9uIHNvY2tldCwgb3IgaWYgYW4gdW51c2VkIHBvcnQgbmVlZHMgdG8gYmUgcHJvdmlkZWQgaW4gYSBjb25zdHJ1Y3RvcgogICAgb3IgcGFzc2VkIHRvIGFuIGV4dGVybmFsIHByb2dyYW0gKGkuZS4gdGhlIC1hY2NlcHQgYXJndW1lbnQgdG8gb3BlbnNzbCdzCiAgICBzX3NlcnZlciBtb2RlKS4gIEFsd2F5cyBwcmVmZXIgYmluZF9wb3J0KCkgb3ZlciBmaW5kX3VudXNlZF9wb3J0KCkgd2hlcmUKICAgIHBvc3NpYmxlLiAgSGFyZCBjb2RlZCBwb3J0cyBzaG91bGQgKk5FVkVSKiBiZSB1c2VkLiAgQXMgc29vbiBhcyBhIHNlcnZlcgogICAgc29ja2V0IGlzIGJvdW5kIHRvIGEgaGFyZCBjb2RlZCBwb3J0LCB0aGUgYWJpbGl0eSB0byBydW4gbXVsdGlwbGUgaW5zdGFuY2VzCiAgICBvZiB0aGUgdGVzdCBzaW11bHRhbmVvdXNseSBvbiB0aGUgc2FtZSBob3N0IGlzIGNvbXByb21pc2VkLCB3aGljaCBtYWtlcyB0aGUKICAgIHRlc3QgYSB0aWNraW5nIHRpbWUgYm9tYiBpbiBhIGJ1aWxkYm90IGVudmlyb25tZW50LiBPbiBVbml4IGJ1aWxkYm90cywgdGhpcwogICAgbWF5IHNpbXBseSBtYW5pZmVzdCBhcyBhIGZhaWxlZCB0ZXN0LCB3aGljaCBjYW4gYmUgcmVjb3ZlcmVkIGZyb20gd2l0aG91dAogICAgaW50ZXJ2ZW50aW9uIGluIG1vc3QgY2FzZXMsIGJ1dCBvbiBXaW5kb3dzLCB0aGUgZW50aXJlIHB5dGhvbiBwcm9jZXNzIGNhbgogICAgY29tcGxldGVseSBhbmQgdXR0ZXJseSB3ZWRnZSwgcmVxdWlyaW5nIHNvbWVvbmUgdG8gbG9nIGluIHRvIHRoZSBidWlsZGJvdAogICAgYW5kIG1hbnVhbGx5IGtpbGwgdGhlIGFmZmVjdGVkIHByb2Nlc3MuCgogICAgKFRoaXMgaXMgZWFzeSB0byByZXByb2R1Y2Ugb24gV2luZG93cywgdW5mb3J0dW5hdGVseSwgYW5kIGNhbiBiZSB0cmFjZWQgdG8KICAgIHRoZSBTT19SRVVTRUFERFIgc29ja2V0IG9wdGlvbiBoYXZpbmcgZGlmZmVyZW50IHNlbWFudGljcyBvbiBXaW5kb3dzIHZlcnN1cwogICAgVW5peC9MaW51eC4gIE9uIFVuaXgsIHlvdSBjYW4ndCBoYXZlIHR3byBBRl9JTkVUIFNPQ0tfU1RSRUFNIHNvY2tldHMgYmluZCwKICAgIGxpc3RlbiBhbmQgdGhlbiBhY2NlcHQgY29ubmVjdGlvbnMgb24gaWRlbnRpY2FsIGhvc3QvcG9ydHMuICBBbiBFQUREUklOVVNFCiAgICBzb2NrZXQuZXJyb3Igd2lsbCBiZSByYWlzZWQgYXQgc29tZSBwb2ludCAoZGVwZW5kaW5nIG9uIHRoZSBwbGF0Zm9ybSBhbmQKICAgIHRoZSBvcmRlciBiaW5kIGFuZCBsaXN0ZW4gd2VyZSBjYWxsZWQgb24gZWFjaCBzb2NrZXQpLgoKICAgIEhvd2V2ZXIsIG9uIFdpbmRvd3MsIGlmIFNPX1JFVVNFQUREUiBpcyBzZXQgb24gdGhlIHNvY2tldHMsIG5vIEVBRERSSU5VU0UKICAgIHdpbGwgZXZlciBiZSByYWlzZWQgd2hlbiBhdHRlbXB0aW5nIHRvIGJpbmQgdHdvIGlkZW50aWNhbCBob3N0L3BvcnRzLiBXaGVuCiAgICBhY2NlcHQoKSBpcyBjYWxsZWQgb24gZWFjaCBzb2NrZXQsIHRoZSBzZWNvbmQgY2FsbGVyJ3MgcHJvY2VzcyB3aWxsIHN0ZWFsCiAgICB0aGUgcG9ydCBmcm9tIHRoZSBmaXJzdCBjYWxsZXIsIGxlYXZpbmcgdGhlbSBib3RoIGluIGFuIGF3a3dhcmRseSB3ZWRnZWQKICAgIHN0YXRlIHdoZXJlIHRoZXknbGwgbm8gbG9uZ2VyIHJlc3BvbmQgdG8gYW55IHNpZ25hbHMgb3IgZ3JhY2VmdWwga2lsbHMsIGFuZAogICAgbXVzdCBiZSBmb3JjaWJseSBraWxsZWQgdmlhIE9wZW5Qcm9jZXNzKCkvVGVybWluYXRlUHJvY2VzcygpLgoKICAgIFRoZSBzb2x1dGlvbiBvbiBXaW5kb3dzIGlzIHRvIHVzZSB0aGUgU09fRVhDTFVTSVZFQUREUlVTRSBzb2NrZXQgb3B0aW9uCiAgICBpbnN0ZWFkIG9mIFNPX1JFVVNFQUREUiwgd2hpY2ggZWZmZWN0aXZlbHkgYWZmb3JkcyB0aGUgc2FtZSBzZW1hbnRpY3MgYXMKICAgIFNPX1JFVVNFQUREUiBvbiBVbml4LiAgR2l2ZW4gdGhlIHByb3BlbnNpdHkgb2YgVW5peCBkZXZlbG9wZXJzIGluIHRoZSBPcGVuCiAgICBTb3VyY2Ugd29ybGQgY29tcGFyZWQgdG8gV2luZG93cyBvbmVzLCB0aGlzIGlzIGEgY29tbW9uIG1pc3Rha2UuICBBIHF1aWNrCiAgICBsb29rIG92ZXIgT3BlblNTTCdzIDAuOS44ZyBzb3VyY2Ugc2hvd3MgdGhhdCB0aGV5IHVzZSBTT19SRVVTRUFERFIgd2hlbgogICAgb3BlbnNzbC5leGUgaXMgY2FsbGVkIHdpdGggdGhlICdzX3NlcnZlcicgb3B0aW9uLCBmb3IgZXhhbXBsZS4gU2VlCiAgICBodHRwOi8vYnVncy5weXRob24ub3JnL2lzc3VlMjU1MCBmb3IgbW9yZSBpbmZvLiAgVGhlIGZvbGxvd2luZyBzaXRlIGFsc28KICAgIGhhcyBhIHZlcnkgdGhvcm91Z2ggZGVzY3JpcHRpb24gYWJvdXQgdGhlIGltcGxpY2F0aW9ucyBvZiBib3RoIFJFVVNFQUREUgogICAgYW5kIEVYQ0xVU0lWRUFERFJVU0Ugb24gV2luZG93czoKICAgIGh0dHA6Ly9tc2RuMi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvbXM3NDA2MjEoVlMuODUpLmFzcHgpCgogICAgWFhYOiBhbHRob3VnaCB0aGlzIGFwcHJvYWNoIGlzIGEgdmFzdCBpbXByb3ZlbWVudCBvbiBwcmV2aW91cyBhdHRlbXB0cyB0bwogICAgZWxpY2l0IHVudXNlZCBwb3J0cywgaXQgcmVzdHMgaGVhdmlseSBvbiB0aGUgYXNzdW1wdGlvbiB0aGF0IHRoZSBlcGhlbWVyYWwKICAgIHBvcnQgcmV0dXJuZWQgdG8gdXMgYnkgdGhlIE9TIHdvbid0IGltbWVkaWF0ZWx5IGJlIGRpc2hlZCBiYWNrIG91dCB0byBzb21lCiAgICBvdGhlciBwcm9jZXNzIHdoZW4gd2UgY2xvc2UgYW5kIGRlbGV0ZSBvdXIgdGVtcG9yYXJ5IHNvY2tldCBidXQgYmVmb3JlIG91cgogICAgY2FsbGluZyBjb2RlIGhhcyBhIGNoYW5jZSB0byBiaW5kIHRoZSByZXR1cm5lZCBwb3J0LiAgV2UgY2FuIGRlYWwgd2l0aCB0aGlzCiAgICBpc3N1ZSBpZi93aGVuIHdlIGNvbWUgYWNyb3NzIGl0LigDAAAAdAYAAABzb2NrZXRSEAAAAHQFAAAAY2xvc2UoBAAAAHQGAAAAZmFtaWx5dAgAAABzb2NrdHlwZXQIAAAAdGVtcHNvY2t0BAAAAHBvcnQoAAAAACgAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5Ug8AAAAnAQAAcwoAAAAANhIBDAEKAQMBYwIAAAADAAAABQAAAEMAAABz9wAAAHwAAGoAAHQBAGoCAGsCAHLQAHwAAGoDAHQBAGoEAGsCAHLQAHQFAHQBAGQBAIMCAHJjAHwAAGoGAHQBAGoHAHQBAGoIAIMCAGQCAGsCAHJjAHQJAGQDAIMBAIIBAHFjAG4AAHQFAHQBAGQEAIMCAHKiAHwAAGoGAHQBAGoHAHQBAGoKAIMCAGQCAGsCAHKiAHQJAGQFAIMBAIIBAHGiAG4AAHQFAHQBAGQGAIMCAHLQAHwAAGoLAHQBAGoHAHQBAGoMAGQCAIMDAAFx0ABuAAB8AABqDQB8AQBkBwBmAgCDAQABfAAAag4AgwAAZAIAGX0CAHwCAFMoCAAAAHMlAwAAQmluZCB0aGUgc29ja2V0IHRvIGEgZnJlZSBwb3J0IGFuZCByZXR1cm4gdGhlIHBvcnQgbnVtYmVyLiAgUmVsaWVzIG9uCiAgICBlcGhlbWVyYWwgcG9ydHMgaW4gb3JkZXIgdG8gZW5zdXJlIHdlIGFyZSB1c2luZyBhbiB1bmJvdW5kIHBvcnQuICBUaGlzIGlzCiAgICBpbXBvcnRhbnQgYXMgbWFueSB0ZXN0cyBtYXkgYmUgcnVubmluZyBzaW11bHRhbmVvdXNseSwgZXNwZWNpYWxseSBpbiBhCiAgICBidWlsZGJvdCBlbnZpcm9ubWVudC4gIFRoaXMgbWV0aG9kIHJhaXNlcyBhbiBleGNlcHRpb24gaWYgdGhlIHNvY2suZmFtaWx5CiAgICBpcyBBRl9JTkVUIGFuZCBzb2NrLnR5cGUgaXMgU09DS19TVFJFQU0sICphbmQqIHRoZSBzb2NrZXQgaGFzIFNPX1JFVVNFQUREUgogICAgb3IgU09fUkVVU0VQT1JUIHNldCBvbiBpdC4gIFRlc3RzIHNob3VsZCAqbmV2ZXIqIHNldCB0aGVzZSBzb2NrZXQgb3B0aW9ucwogICAgZm9yIFRDUC9JUCBzb2NrZXRzLiAgVGhlIG9ubHkgY2FzZSBmb3Igc2V0dGluZyB0aGVzZSBvcHRpb25zIGlzIHRlc3RpbmcKICAgIG11bHRpY2FzdGluZyB2aWEgbXVsdGlwbGUgVURQIHNvY2tldHMuCgogICAgQWRkaXRpb25hbGx5LCBpZiB0aGUgU09fRVhDTFVTSVZFQUREUlVTRSBzb2NrZXQgb3B0aW9uIGlzIGF2YWlsYWJsZSAoaS5lLgogICAgb24gV2luZG93cyksIGl0IHdpbGwgYmUgc2V0IG9uIHRoZSBzb2NrZXQuICBUaGlzIHdpbGwgcHJldmVudCBhbnlvbmUgZWxzZQogICAgZnJvbSBiaW5kKCknaW5nIHRvIG91ciBob3N0L3BvcnQgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgdGVzdC4KICAgIHQMAAAAU09fUkVVU0VBRERSaQEAAABzSAAAAHRlc3RzIHNob3VsZCBuZXZlciBzZXQgdGhlIFNPX1JFVVNFQUREUiBzb2NrZXQgb3B0aW9uIG9uIFRDUC9JUCBzb2NrZXRzIXQMAAAAU09fUkVVU0VQT1JUc0gAAAB0ZXN0cyBzaG91bGQgbmV2ZXIgc2V0IHRoZSBTT19SRVVTRVBPUlQgc29ja2V0IG9wdGlvbiBvbiBUQ1AvSVAgc29ja2V0cyF0EwAAAFNPX0VYQ0xVU0lWRUFERFJVU0VpAAAAACgPAAAAUpEAAABSjwAAAHQHAAAAQUZfSU5FVHQEAAAAdHlwZXQLAAAAU09DS19TVFJFQU10BwAAAGhhc2F0dHJ0CgAAAGdldHNvY2tvcHR0CgAAAFNPTF9TT0NLRVRSlQAAAFIBAAAAUpYAAAB0CgAAAHNldHNvY2tvcHRSlwAAAHQEAAAAYmluZHQLAAAAZ2V0c29ja25hbWUoAwAAAHQEAAAAc29ja3QEAAAAaG9zdFKUAAAAKAAAAAAoAAAAAHNYAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weVIQAAAAYwEAAHMYAAAAAA4kAQ8BHgESAg8BHgESAg8BHwITARABZ43ttaD3xrA+YwIAAAAFAAAABwAAAEMAAABzIwEAAHQAAHwAAHQBAIMCAHMeAHQAAHwBAHQBAIMCAHJjAHk4AHQCAHwAAIMBAHQCAHwBAIMBABd0AwAUfQIAdAIAfAAAfAEAGIMBAHwCAGsBAHJVAGQBAFNXcQ8BAQEBcQ8BWG6sAHQEAHwAAIMBAHQEAHwBAIMBAGsCAHIPAXQAAHwAAHQFAHQGAGYCAIMCAHIPAXhQAHQHAHQIAHQJAHwAAIMBAHQJAHwBAIMBAIMCAIMBAERdLQB9AwB0CgB8AAB8AwAZfAEAfAMAGYMCAH0EAHwEAGQBAGsDAHKyAHwEAFNxsgBXdAkAfAAAgwEAdAkAfAEAgwEAawQAdAkAfAAAgwEAdAkAfAEAgwEAawAAGFN8AAB8AQBrBAB8AAB8AQBrAAAYUygCAAAATmkAAAAAKAsAAAB0CgAAAGlzaW5zdGFuY2V0BQAAAGZsb2F0dAMAAABhYnNSFgAAAFKZAAAAdAUAAAB0dXBsZVJKAAAAdAUAAAByYW5nZXQDAAAAbWludAMAAABsZW5SEQAAACgFAAAAdAEAAAB4dAEAAAB5dAQAAABmdXp6dAEAAABpdAcAAABvdXRjb21lKAAAAAAoAAAAAHNYAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weVIRAAAAgwEAAHMcAAAAAAEeAQMBGgEWAQgBAwEHAS0BKAEXAQwBCAEsAWkEAAAAaQAEAAB0BAAAAGphdmFzBQAAACR0ZXN0dAYAAAByaXNjb3N0CAAAAHRlc3RmaWxlcwUAAABAdGVzdHQAAAAAcwgAAABAdGVzdC3g8nMHAAAAbGF0aW4tMXQRAAAAZ2V0d2luZG93c3ZlcnNpb25pAwAAAGkCAAAAcycAAAB1IkB0ZXN0LVx1NTE3MVx1NjcwOVx1MzA1NVx1MzA4Y1x1MzA4YiJ0BgAAAExhdGluMXNnAAAAV0FSTklORzogVGhlIGZpbGVuYW1lICVyIENBTiBiZSBlbmNvZGVkIGJ5IHRoZSBmaWxlc3lzdGVtLiAgVW5pY29kZSBmaWxlbmFtZSB0ZXN0cyBtYXkgbm90IGJlIGVmZmVjdGl2ZXMJAAAAe31fe31fdG1wdAcAAAB0ZW1wY3dkYwIAAAAEAAAABwAAAGMAAABzCgEAAHQAAHJjAHQBAHwAAHQCAIMCAHJjAHkfAHwAAGoDAHQEAGoFAIMAAHAtAGQBAIMBAH0AAFdxYwAEdAYAawoAcl8AAQEBfAEAc2AAdAcAaggAZAIAgwEAggEAcWAAcWMAWG4AAHQJAGoKAIMAAH0CAHQLAH0DAHkkAHQJAGoMAHwAAIMBAAF0CQBqDQB8AACDAQABdA4AfQMAV243AAR0DwBrCgBy0gABAQF8AQBztQCCAABuAAB0EABqEQBkAwB8AAAXdBIAZAQAZAUAgwIBAW4BAFh6DwB0CQBqCgCDAABWAVdkBgB0CQBqDQB8AgCDAQABfAMAcgUBdBMAfAAAgwEAAW4AAFhkBgBTKAcAAABzUgEAAAogICAgQ29udGV4dCBtYW5hZ2VyIHRoYXQgY3JlYXRlcyBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgYW5kIHNldCBpdCBhcyBDV0QuCgogICAgVGhlIG5ldyBDV0QgaXMgY3JlYXRlZCBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnkgYW5kIGl0J3MgbmFtZWQgKm5hbWUqLgogICAgSWYgKnF1aWV0KiBpcyBGYWxzZSAoZGVmYXVsdCkgYW5kIGl0J3Mgbm90IHBvc3NpYmxlIHRvIGNyZWF0ZSBvciBjaGFuZ2UKICAgIHRoZSBDV0QsIGFuIGVycm9yIGlzIHJhaXNlZC4gIElmIGl0J3MgVHJ1ZSwgb25seSBhIHdhcm5pbmcgaXMgcmFpc2VkCiAgICBhbmQgdGhlIG9yaWdpbmFsIENXRCBpcyB1c2VkLgogICAgdAUAAABhc2NpaXM7AAAAdW5hYmxlIHRvIGVuY29kZSB0aGUgY3dkIG5hbWUgd2l0aCB0aGUgZmlsZXN5c3RlbSBlbmNvZGluZy5zLAAAAHRlc3RzIG1heSBmYWlsLCB1bmFibGUgdG8gY2hhbmdlIHRoZSBDV0QgdG8gUmcAAABpAwAAAE4oFAAAAFISAAAAUqMAAAB0BwAAAHVuaWNvZGV0BgAAAGVuY29kZVJHAAAAdBUAAABnZXRmaWxlc3lzdGVtZW5jb2Rpbmd0EgAAAFVuaWNvZGVFbmNvZGVFcnJvclJAAAAAUkEAAABSaAAAAHQGAAAAZ2V0Y3dkUlEAAAB0BQAAAG1rZGlydAUAAABjaGRpclJPAAAAUoAAAABSOQAAAFJuAAAAUm8AAABSCwAAACgEAAAAUkMAAAB0BQAAAHF1aWV0dAkAAABzYXZlZF9kaXJ0DAAAAGlzX3RlbXBvcmFyeSgAAAAAKAAAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHlSGAAAANoBAABzLAAAAAAKFQEDAR8BDQEGARkCDAEGAQMBDQENAQoBDQEGAQYBDQERAQMBDwINAQYBYwMAAAAGAAAABAAAAEMAAABznAAAAHQAAGoBAGoCAHwAAIMBAHIWAHwAAFN8AgBkAQBrCQByOgB0AABqAQBqBAB8AgB8AACDAgB9AABuAAB0BQBqAQB9AwB0AABqAQBqBgB8AQCDAQBnAQB8AwAXfQMAeDkAfAMARF0xAH0EAHQAAGoBAGoEAHwEAHwAAIMCAH0FAHQAAGoBAGoHAHwFAIMBAHJjAHwFAFNxYwBXfAAAUygCAAAAc9UAAABUcnkgdG8gZmluZCBhIGZpbGUgb24gc3lzLnBhdGggYW5kIHRoZSB3b3JraW5nIGRpcmVjdG9yeS4gIElmIGl0IGlzIG5vdAogICAgZm91bmQgdGhlIGFyZ3VtZW50IHBhc3NlZCB0byB0aGUgZnVuY3Rpb24gaXMgcmV0dXJuZWQgKHRoaXMgZG9lcyBub3QKICAgIG5lY2Vzc2FyaWx5IHNpZ25hbCBmYWlsdXJlOyBjb3VsZCBzdGlsbCBiZSB0aGUgbGVnaXRpbWF0ZSBwYXRoKS5OKAgAAABSaAAAAFJpAAAAdAUAAABpc2Fic1JSAAAAUnsAAABSRwAAAFJzAAAAdAYAAABleGlzdHMoBgAAAHQEAAAAZmlsZXQEAAAAaGVyZXQGAAAAc3ViZGlyUmkAAAB0AgAAAGRudAIAAABmbigAAAAAKAAAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHlSGQAAAP4BAABzFgAAAAAEEgEEAQwBGAEJARkBDQEVARIACAFjAQAAAAUAAAAEAAAAQwAAAHNKAAAAfAAAagAAgwAAfQEAfAEAagEAgwAAAWcAAHwBAERdEAB9AgBkAQB8AgAWXgIAcR0AfQMAZAIAagIAfAMAgwEAfQQAZAMAfAQAFlMoBAAAAHMlAAAATGlrZSByZXByKGRpY3QpLCBidXQgaW4gc29ydGVkIG9yZGVyLnMGAAAAJXI6ICVycwIAAAAsIHMEAAAAeyVzfSgDAAAAUlYAAAB0BAAAAHNvcnRSewAAACgFAAAAdAQAAABkaWN0UlYAAAB0BAAAAHBhaXJ0CQAAAHJlcHJwYWlyc3QKAAAAd2l0aGNvbW1hcygAAAAAKAAAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHlSGgAAAA0CAABzCgAAAAACDAEKAR0BDwFjAAAAAAEAAAAFAAAAQwAAAHM5AAAAdAAAdAEAZAEAgwIAfQAAeg4AfAAAagIAgwAAU1dkAgB8AABqAwCDAAABdAQAdAEAgwEAAVhkAgBTKAMAAABzYAAAAAogICAgQ3JlYXRlIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIGJ5IG9wZW5pbmcgYW5kIGNsb3NpbmcgYSBmaWxlIGFuZCByZXR1cm4KICAgIGl0cyBmZC4KICAgIHQCAAAAd2JOKAUAAAB0BAAAAG9wZW5SFAAAAHQGAAAAZmlsZW5vUpAAAABSCgAAACgBAAAAUsMAAAAoAAAAACgAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5dAsAAABtYWtlX2JhZF9mZBUCAABzCgAAAAAFDwEDAQ4CCgFjAgAAAAIAAAAGAAAAQwAAAHMdAAAAfAAAagAAdAEAdAIAfAEAZAEAZAIAgwUAAWQAAFMoAwAAAE5zDQAAADx0ZXN0IHN0cmluZz50BAAAAGV4ZWMoAwAAAHQMAAAAYXNzZXJ0UmFpc2VzdAsAAABTeW50YXhFcnJvcnQHAAAAY29tcGlsZSgCAAAAdAgAAAB0ZXN0Y2FzZXQJAAAAc3RhdGVtZW50KAAAAAAoAAAAAHNYAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weVIbAAAAIQIAAHMEAAAAAAEPAWMCAAAACgAAAAYAAAADAAAAc2IBAABkAQBkAABsAAB9AgBkAQBkAABsAQB9AwB8AgBqAAB8AACDAQBkAgAZagIAZAMAgwEAZAEAGX0EAHQDAGoEAGoFAHQDAGoEAGoGAHQHAIMBAGQEAHwEAIMDAH0FAIcAAGYBAGQFAIYAAH0GAHQDAGoEAGoIAHwFAIMBAHKmAHwGAHwFAIMBAH0HAHwHAGQAAGsJAHKZAHwHAFN0CgB8BQCDAQABbgAAdAsAZAYAgwEAAXQMAIMAAARkBwB8AAAWAklKfAMAag0AfAAAZAgAZAkAgwEBfQcAek4AdA4AfAUAZAoAgwIAjzkAfQgAfAcAag8AgwAAfQkAeCMAfAkAchwBfAgAahAAfAkAgwEAAXwHAGoPAIMAAH0JAHH6AFdXZAAAUVhXZAAAfAcAahEAgwAAAVh8BgB8BQCDAQB9BwB8BwBkAABrCQByTgF8BwBTdBIAZAsAfAUAFoMBAIIBAGQAAFMoDAAAAE5p/////2kCAAAAdAEAAAAvdAQAAABkYXRhYwEAAAACAAAAAgAAABMAAABzRwAAAHQAAHwAAIMBAH0BAIgAAGQAAGsIAHIcAHwBAFOIAAB8AQCDAQByOQB8AQBqAgBkAQCDAQABfAEAU3wBAGoDAIMAAAFkAABTKAIAAABOaQAAAAAoBAAAAFLOAAAAUlIAAAB0BAAAAHNlZWtSkAAAACgCAAAAUscAAAB0AQAAAGYoAQAAAHQFAAAAY2hlY2soAAAAAHNYAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weXQQAAAAY2hlY2tfdmFsaWRfZmlsZSwCAABzDgAAAAABDAEMAQQBDAENAQQBdAgAAAB1cmxmZXRjaHMQAAAACWZldGNoaW5nICVzIC4uLlJ0AAAAaQ8AAABSzQAAAHMVAAAAaW52YWxpZCByZXNvdXJjZSAiJXMiKBMAAAB0CAAAAHVybHBhcnNldAcAAAB1cmxsaWIyUmoAAABSaAAAAFJpAAAAUnsAAABScwAAAHQIAAAAX19maWxlX19SwgAAAFJSAAAAUgoAAABSDgAAAFIIAAAAdAcAAAB1cmxvcGVuUs4AAAB0BAAAAHJlYWR0BQAAAHdyaXRlUpAAAABSAQAAACgKAAAAdAMAAAB1cmxS2wAAAFLeAAAAUt8AAABSdwAAAFLHAAAAUtwAAABS2gAAAHQDAAAAb3V0dAEAAABzKAAAAAAoAQAAAFLbAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5UhwAAAAlAgAAcy4AAAAAARgCIAIkAg8JEgEMAQwBBAENAwoCEQEVAQMBEgEMAQkBDQEaAgsCDAEMAQQBdBAAAABXYXJuaW5nc1JlY29yZGVyYwAAAAAAAAAAAgAAAEIAAABzOAAAAGUAAFoBAGQAAFoCAGQBAIQAAFoDAGQCAIQAAFoEAGUFAGQDAIQAAIMBAFoGAGQEAIQAAFoHAFJTKAUAAABzeQAAAENvbnZlbmllbmNlIHdyYXBwZXIgZm9yIHRoZSB3YXJuaW5ncyBsaXN0IHJldHVybmVkIG9uCiAgICAgICBlbnRyeSB0byB0aGUgd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MoKSBjb250ZXh0IG1hbmFnZXIuCiAgICBjAgAAAAIAAAACAAAAQwAAAHMWAAAAfAEAfAAAXwAAZAEAfAAAXwEAZAAAUygCAAAATmkAAAAAKAIAAAB0CQAAAF93YXJuaW5nc3QFAAAAX2xhc3QoAgAAAHQEAAAAc2VsZnQNAAAAd2FybmluZ3NfbGlzdCgAAAAAKAAAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHl0CAAAAF9faW5pdF9fUwIAAHMEAAAAAAEJAWMCAAAAAgAAAAQAAABDAAAAc1wAAAB0AAB8AABqAQCDAQB8AABqAgBrBAByLAB0AwB8AABqAQBkAQAZfAEAgwIAU3wBAHQEAGoFAGoGAGsGAHJCAGQAAFN0CABkAgB8AAB8AQBmAgAWgwEAggEAZAAAUygDAAAATmn/////cxYAAAAlciBoYXMgbm8gYXR0cmlidXRlICVyKAkAAABSqQAAAFLoAAAAUukAAABSYAAAAFI5AAAAdA4AAABXYXJuaW5nTWVzc2FnZXQQAAAAX1dBUk5JTkdfREVUQUlMU1JSAAAAUmEAAAAoAgAAAFLqAAAAdAQAAABhdHRyKAAAAAAoAAAAAHNYAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weXQLAAAAX19nZXRhdHRyX19XAgAAcwoAAAAAARgBFAESAQQBYwEAAAABAAAAAgAAAEMAAABzDgAAAHwAAGoAAHwAAGoBAB9TKAEAAABOKAIAAABS6AAAAFLpAAAAKAEAAABS6gAAACgAAAAAKAAAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHlSOQAAAF4CAABzAgAAAAACYwEAAAABAAAAAgAAAEMAAABzFgAAAHQAAHwAAGoBAIMBAHwAAF8CAGQAAFMoAQAAAE4oAwAAAFKpAAAAUugAAABS6QAAACgBAAAAUuoAAAAoAAAAACgAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5dAUAAAByZXNldGICAABzAgAAAAABKAgAAABSNQAAAFI2AAAAUjcAAABS7AAAAFLwAAAAdAgAAABwcm9wZXJ0eVI5AAAAUvEAAAAoAAAAACgAAAAAKAAAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHlS5wAAAE8CAABzCgAAAAYDBgEJBAkHDwRjAgAAAA0AAAAHAAAAYwAAAHNwAQAAdAAAagEAZAEAgwEAfQIAfAIAagIAagMAZAIAgwEAfQMAfAMAcjQAfAMAagQAgwAAAW4AAHQFAGoGAGQDAHQHAIMAAY8mAH0EAHQAAGoIAGQEABlqCQBkBQCDAQABdAoAfAQAgwEAVgFXZAYAUVhnAAB8BABEXQ8AfQUAfAUAagsAXgIAcXUAfQYAZwAAfQcAeJ8AfAAARF2XAFwCAH0IAH0JAHQMAH0KAHhbAHwGAB5EXVIAfQsAdA0AfAsAgwEAfQwAdA4Aag8AfAgAfAwAdA4AahAAgwMAcrEAdBEAfAsAahIAfAkAgwIAcrEAdAcAfQoAfAYAahMAfAsAgwEAAXGxAHGxAFd8CgAMcpcAfAEADHKXAHwHAGoUAHwIAHwJAGoVAGYCAIMBAAFxlwBxlwBXfAYAck8BdBYAZAcAfAYAZAgAGRaDAQCCAQBuAAB8BwBybAF0FgBkCQB8BwBkCAAZFoMBAIIBAG4AAGQGAFMoCgAAAHO2AAAAQ2F0Y2ggdGhlIHdhcm5pbmdzLCB0aGVuIGNoZWNrIGlmIGFsbCB0aGUgZXhwZWN0ZWQKICAgIHdhcm5pbmdzIGhhdmUgYmVlbiByYWlzZWQgYW5kIHJlLXJhaXNlIHVuZXhwZWN0ZWQgd2FybmluZ3MuCiAgICBJZiAncXVpZXQnIGlzIFRydWUsIG9ubHkgcmUtcmFpc2UgdGhlIHVuZXhwZWN0ZWQgd2FybmluZ3MuCiAgICBpAgAAAHQTAAAAX193YXJuaW5ncmVnaXN0cnlfX3QGAAAAcmVjb3JkUjkAAAB0BgAAAGFsd2F5c05zFAAAAHVuaGFuZGxlZCB3YXJuaW5nICVyaQAAAABzKQAAAGZpbHRlciAoJXIsICVzKSBkaWQgbm90IGNhdGNoIGFueSB3YXJuaW5nKBcAAABSRwAAAFKLAAAAUowAAABSjQAAAHQFAAAAY2xlYXJSOQAAAFI6AAAAUk8AAABSSAAAAHQMAAAAc2ltcGxlZmlsdGVyUucAAAB0BwAAAG1lc3NhZ2VSUQAAAFJCAAAAdAIAAAByZXQFAAAAbWF0Y2h0AQAAAEl0CgAAAGlzc3ViY2xhc3N0CQAAAF9fY2xhc3NfX3QGAAAAcmVtb3ZlUlUAAABSNQAAAHQOAAAAQXNzZXJ0aW9uRXJyb3IoDQAAAHQHAAAAZmlsdGVyc1K+AAAAdAUAAABmcmFtZXQIAAAAcmVnaXN0cnl0AQAAAHd0BwAAAHdhcm5pbmd0BwAAAHJlcmFpc2V0BwAAAG1pc3NpbmdSRQAAAHQDAAAAY2F0dAQAAABzZWVudAMAAABleGNS+AAAACgAAAAAKAAAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHl0DwAAAF9maWx0ZXJ3YXJuaW5nc2YCAABzMAAAAAAHDwESAQYBDQEVBBQBEQIcAQYBEwEGAQ4BDAIYARIBBgEUAQ4CHQEGARcBBgEGAWMAAAAAAwAAAAMAAABPAAAAc0kAAAB8AQBqAABkAQCDAQB9AgB8AABzPABkAgB0AQBmAgBmAQB9AAB8AgBkAwBrCAByPAB0AwB9AgBxPABuAAB0BAB8AAB8AgCDAgBTKAQAAABzmAEAAENvbnRleHQgbWFuYWdlciB0byBzaWxlbmNlIHdhcm5pbmdzLgoKICAgIEFjY2VwdCAyLXR1cGxlcyBhcyBwb3NpdGlvbmFsIGFyZ3VtZW50czoKICAgICAgICAoIm1lc3NhZ2UgcmVnZXhwIiwgV2FybmluZ0NhdGVnb3J5KQoKICAgIE9wdGlvbmFsIGFyZ3VtZW50OgogICAgIC0gaWYgJ3F1aWV0JyBpcyBUcnVlLCBpdCBkb2VzIG5vdCBmYWlsIGlmIGEgZmlsdGVyIGNhdGNoZXMgbm90aGluZwogICAgICAgIChkZWZhdWx0IFRydWUgd2l0aG91dCBhcmd1bWVudCwKICAgICAgICAgZGVmYXVsdCBGYWxzZSBpZiBzb21lIGZpbHRlcnMgYXJlIGRlZmluZWQpCgogICAgV2l0aG91dCBhcmd1bWVudCwgaXQgZGVmYXVsdHMgdG86CiAgICAgICAgY2hlY2tfd2FybmluZ3MoKCIiLCBXYXJuaW5nKSwgcXVpZXQ9VHJ1ZSkKICAgIFK+AAAAUrIAAABOKAUAAABSjQAAAHQHAAAAV2FybmluZ1JSAAAAUk8AAABSCgEAACgDAAAAUgABAAB0BgAAAGt3YXJnc1K+AAAAKAAAAAAoAAAAAHNYAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weVIdAAAAjQIAAHMMAAAAAA8PAQYBDwIMAQwBYwAAAAACAAAABAAAAE8AAABzQAAAAHQAAGoBAHIkAHwAAHMqAGQBAHQCAGYCAGYBAH0AAHEqAG4GAGQDAH0AAHQDAHwAAHwBAGoEAGQCAIMBAIMCAFMoBAAAAHNqAQAAQ29udGV4dCBtYW5hZ2VyIHRvIHNpbGVuY2UgcHkzayB3YXJuaW5ncy4KCiAgICBBY2NlcHQgMi10dXBsZXMgYXMgcG9zaXRpb25hbCBhcmd1bWVudHM6CiAgICAgICAgKCJtZXNzYWdlIHJlZ2V4cCIsIFdhcm5pbmdDYXRlZ29yeSkKCiAgICBPcHRpb25hbCBhcmd1bWVudDoK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bSAqc3RyZWFtX25hbWUqIHdpdGggYSBTdHJpbmdJTy5p/////04oBAAAAHQIAAAAU3RyaW5nSU9SYAAAAFJHAAAAdAcAAABzZXRhdHRyKAMAAAB0CwAAAHN0cmVhbV9uYW1lUkoBAAB0CwAAAG9yaWdfc3Rkb3V0KAAAAAAoAAAAAHNYAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weVIhAAAAgAMAAHMMAAAAAAQMAQ8BFgEDARICYwAAAAAAAAAAAgAAAEMAAABzCgAAAHQAAGQBAIMBAFMoAgAAAHOTAAAAQ2FwdHVyZSB0aGUgb3V0cHV0IG9mIHN5cy5zdGRvdXQ6CgogICAgICAgd2l0aCBjYXB0dXJlZF9zdGRvdXQoKSBhcyBzOgogICAgICAgICAgIHByaW50ICJoZWxsbyIKICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocy5nZXR2YWx1ZSgpLCAiaGVsbG8iKQogICAgUmUAAAAoAQAAAFIhAAAAKAAAAAAoAAAAACgAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5UiIAAACMAwAAcwIAAAAAB2MAAAAAAAAAAAIAAABDAAAAcwoAAAB0AABkAQCDAQBTKAIAAABOUjgBAAAoAQAAAFIhAAAAKAAAAAAoAAAAACgAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5dA8AAABjYXB0dXJlZF9zdGRlcnKVAwAAcwIAAAAAAWMAAAAAAAAAAAIAAABDAAAAcwoAAAB0AABkAQCDAQBTKAIAAABOdAUAAABzdGRpbigBAAAAUiEAAAAoAAAAACgAAAAAKAAAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHl0DgAAAGNhcHR1cmVkX3N0ZGlumAMAAHMCAAAAAAFjAAAAAAAAAAACAAAAQwAAAHM4AAAAdAAAagEAgwAAAXQCAHIgAHQDAGoEAGQBAIMBAAFuAAB0AABqAQCDAAABdAAAagEAgwAAAWQCAFMoAwAAAHPaAQAARm9yY2UgYXMgbWFueSBvYmplY3RzIGFzIHBvc3NpYmxlIHRvIGJlIGNvbGxlY3RlZC4KCiAgICBJbiBub24tQ1B5dGhvbiBpbXBsZW1lbnRhdGlvbnMgb2YgUHl0aG9uLCB0aGlzIGlzIG5lZWRlZCBiZWNhdXNlIHRpbWVseQogICAgZGVhbGxvY2F0aW9uIGlzIG5vdCBndWFyYW50ZWVkIGJ5IHRoZSBnYXJiYWdlIGNvbGxlY3Rvci4gIChFdmVuIGluIENQeXRob24KICAgIHRoaXMgY2FuIGJlIHRoZSBjYXNlIGluIGNhc2Ugb2YgcmVmZXJlbmNlIGN5Y2xlcy4pICBUaGlzIG1lYW5zIHRoYXQgX19kZWxfXwogICAgbWV0aG9kcyBtYXkgYmUgY2FsbGVkIGxhdGVyIHRoYW4gZXhwZWN0ZWQgYW5kIHdlYWtyZWZzIG1heSByZW1haW4gYWxpdmUgZm9yCiAgICBsb25nZXIgdGhhbiBleHBlY3RlZC4gIFRoaXMgZnVuY3Rpb24gdHJpZXMgaXRzIGJlc3QgdG8gZm9yY2UgYWxsIGdhcmJhZ2UKICAgIG9iamVjdHMgdG8gZGlzYXBwZWFyLgogICAgZ5qZmZmZmbk/TigFAAAAdAIAAABnY3QHAAAAY29sbGVjdFITAAAAUmwAAABSbQAAACgAAAAAKAAAAAAoAAAAAHNYAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weXQKAAAAZ2NfY29sbGVjdJsDAABzCgAAAAAKCgEGARABCgF0AgAAADJQdBAAAABnZXR0b3RhbHJlZmNvdW50dAEAAABQYwEAAAABAAAAAwAAAEMAAABzFQAAAHQAAGoBAHQCAHwAABdkAQAXgwEAUygCAAAATnQCAAAAMFAoAwAAAHQGAAAAc3RydWN0dAgAAABjYWxjc2l6ZXQHAAAAX2hlYWRlcigBAAAAdAMAAABmbXQoAAAAACgAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5dAsAAABjYWxjb2Jqc2l6ZbEDAABzAgAAAAABYwEAAAABAAAAAwAAAEMAAABzFQAAAHQAAGoBAHQCAHwAABdkAQAXgwEAUygCAAAATlJXAQAAKAMAAABSWAEAAFJZAQAAdAgAAABfdmhlYWRlcigBAAAAUlsBAAAoAAAAACgAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5dAwAAABjYWxjdm9ianNpemW0AwAAcwIAAAAAAWkOAAAAaQkAAABjAwAAAAUAAAAHAAAAQwAAAHOTAAAAdAAAagEAfAEAgwEAfQMAdAIAfAEAgwEAdAIAawIAci4AfAEAagMAdAQAQHNTAHQCAHwBAIMBAHQCAGsDAHJjAHQCAHwBAIMBAGoDAHQFAEByYwB8AgB0BgBqBwA3fQIAbgAAZAEAdAIAfAEAgwEAfAMAfAIAZgMAFn0EAHwAAGoIAHwDAHwCAHwEAIMDAAFkAABTKAIAAABOcyYAAAB3cm9uZyBzaXplIGZvciAlczogZ290ICVkLCBleHBlY3RlZCAlZCgJAAAAUkcAAAB0CQAAAGdldHNpemVvZlKZAAAAdAkAAABfX2ZsYWdzX190EQAAAF9UUEZMQUdTX0hFQVBUWVBFdBAAAABfVFBGTEFHU19IQVZFX0dDdAkAAABfdGVzdGNhcGl0EAAAAFNJWkVPRl9QWUdDX0hFQUR0CwAAAGFzc2VydEVxdWFsKAUAAAB0BAAAAHRlc3R0AQAAAG90BAAAAHNpemV0BgAAAHJlc3VsdFJFAAAAKAAAAAAoAAAAAHNYAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weXQMAAAAY2hlY2tfc2l6ZW9muwMAAHMOAAAAAAEPAh8BJQEQAQMBFgFjAQAAAAMAAAACAAAABwAAAHMWAAAAhwAAhwEAZgIAZAEAhgAAfQIAfAIAUygCAAAATmMBAAAAAgAAAAMAAAATAAAAczEAAACHAQCHAACHAgBmAwBkAQCGAAB9AQCIAABqAAB8AQBfAACIAABqAQB8AQBfAQB8AQBTKAIAAABOYwAAAAAGAAAABwAAAB8AAABzvQAAAHkuAGQBAGQAAGwAAH0CAHQBAHwCAIgAAIMCAH0DAHwCAGoCAHwDAIMBAH0EAFduJAAEdAMAawoAckQAAQEBggAAbkEAAQEBZAAABH0CAH0EAG4xAFh4LQCIAgBEXSUAfQUAeRUAfAIAagIAfAMAfAUAgwIAAVBXcVwAAQEBcVwAWHFcAFd6EQCIAQB8AAB8AQCOAABTV2QAAHwCAHK4AHwEAHK4AHwCAGoCAHwDAHwEAIMCAAFuAABYZAAAUygCAAAATmn/////KAUAAAB0BgAAAGxvY2FsZVJgAAAAdAkAAABzZXRsb2NhbGVSYQAAAFJSAAAAKAYAAABSOQEAAHQEAAAAa3dkc1JrAQAAdAgAAABjYXRlZ29yeXQLAAAAb3JpZ19sb2NhbGV0AwAAAGxvYygDAAAAdAYAAABjYXRzdHJScAAAAHQHAAAAbG9jYWxlcygAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5dAUAAABpbm5lcswDAABzJAAAAAABAwEMAQ8BEwENAgYBAwIOAg0BAwEQAQUBAwEIAwMBEQIMASgCAAAAdAkAAABmdW5jX25hbWVSNwAAACgCAAAAUnAAAABScwEAACgCAAAAUnEBAABScgEAACgBAAAAUnAAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHl0CQAAAGRlY29yYXRvcssDAABzCAAAAAABFRkMAQwBKAAAAAAoAwAAAFJxAQAAUnIBAABSdQEAACgAAAAAKAIAAABScQEAAFJyAQAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5UiUAAADKAwAAcwQAAAAAARIdYwEAAAAEAAAABQAAAEMAAABz5AAAAGkEAGQBAGQCADZ0AABkAwA2dAEAZAQANmQBAHQBABRkBQA2fQEAdAIAagMAZAYAfAAAdAIAagQAdAIAagUAQoMDAH0CAHwCAGQAAGsIAHJnAHQHAGQHAHwAAGYBABaDAQCCAQBuAAB0CAB0CQB8AgBqCgBkCACDAQCDAQB8AQB8AgBqCgBkCQCDAQBqCwCDAAAZFIMBAH0DAHwDAGEMAHwDAHQNAGsEAHK0AHQNAH0DAG4AAHwDAHQOAGQIABhrAABy2gB0BwBkCgB8AABmAQAWgwEAggEAbgAAfAMAYQ8AZAAAUygLAAAATmkABAAAUiEBAAB0AQAAAG10AQAAAGd0AQAAAHRzGgAAAChcZCsoXC5cZCspPykgKEt8TXxHfFQpYj8kcxcAAABJbnZhbGlkIG1lbW9yeSBsaW1pdCAlcmkBAAAAaQMAAABzJAAAAE1lbW9yeSBsaW1pdCAlciB0b28gbG93IHRvIGJlIHVzZWZ1bCgQAAAAdAMAAABfMU10AwAAAF8xR1L5AAAAUvoAAAB0CgAAAElHTk9SRUNBU0V0BwAAAFZFUkJPU0VSUgAAAHQKAAAAVmFsdWVFcnJvcnQDAAAAaW50UqQAAAB0BQAAAGdyb3VwdAUAAABsb3dlcnQPAAAAcmVhbF9tYXhfbWVtdXNldA4AAABNQVhfUHlfc3NpemVfdHQDAAAAXzJHUgYAAAAoBAAAAHQFAAAAbGltaXR0BQAAAHNpemVzUnYBAAB0CAAAAG1lbWxpbWl0KAAAAAAoAAAAAHNYAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weVImAAAA9gMAAHMgAAAAAAMDAQcBBwEHAQ4CDAETAQwBFgEyAQYBDAEJARABFgFpBQAAAGMDAAAABAAAAAMAAAADAAAAcxkAAACHAACHAQCHAgBmAwBkAQCGAAB9AwB8AwBTKAIAAABzUQIAAERlY29yYXRvciBmb3IgYmlnbWVtIHRlc3RzLgoKICAgICdtaW5zaXplJyBpcyB0aGUgbWluaW11bSB1c2VmdWwgc2l6ZSBmb3IgdGhlIHRlc3QgKGluIGFyYml0cmFyeSwKICAgIHRlc3QtaW50ZXJwcmV0ZWQgdW5pdHMuKSAnbWVtdXNlJyBpcyB0aGUgbnVtYmVyIG9mICdieXRlcyBwZXIgc2l6ZScgZm9yCiAgICB0aGUgdGVzdCwgb3IgYSBnb29kIGVzdGltYXRlIG9mIGl0LiAnb3ZlcmhlYWQnIHNwZWNpZmllcyBmaXhlZCBvdmVyaGVhZCwKICAgIGluZGVwZW5kZW50IG9mIHRoZSB0ZXN0c2l6ZSwgYW5kIGRlZmF1bHRzIHRvIDVNYi4KCiAgICBUaGUgZGVjb3JhdG9yIHRyaWVzIHRvIGd1ZXNzIGEgZ29vZCB2YWx1ZSBmb3IgJ3NpemUnIGFuZCBwYXNzZXMgaXQgdG8KICAgIHRoZSBkZWNvcmF0ZWQgdGVzdCBmdW5jdGlvbi4gSWYgbWluc2l6ZSAqIG1lbXVzZSBpcyBtb3JlIHRoYW4gdGhlCiAgICBhbGxvd2VkIG1lbW9yeSB1c2UgKGFzIGRlZmluZWQgYnkgbWF4X21lbXVzZSksIHRoZSB0ZXN0IGlzIHNraXBwZWQuCiAgICBPdGhlcndpc2UsIG1pbnNpemUgaXMgYWRqdXN0ZWQgdXB3YXJkIHRvIHVzZSB1cCB0byBtYXhfbWVtdXNlLgogICAgYwEAAAACAAAABAAAABMAAABzNwAAAIcAAIcBAIcCAIcDAGYEAGQBAIYAAH0BAIgCAHwBAF8AAIgBAHwBAF8BAIgDAHwBAF8CAHwBAFMoAgAAAE5jAQAAAAIAAAAEAAAAEwAAAHOZAAAAdAAAcy4AZAEAfQEAfAAAagEAfAEAiAEAFIgDABdkAgB0AgAUawQAgwEAAW5eAHQDAHQAAIgDABiIAQAVgwEAfQEAfAEAiAIAawAAcnUAdAQAcnEAdAUAagYAagcAZAMAiAAAaggAZgEAFoMBAAFuAABkAABTdAkAfAEAZAQAdAIAFBiIAgCDAgB9AQCIAAB8AAB8AQCDAgBTKAUAAABOaRsUAABpFAAAAHMpAAAAU2tpcHBpbmcgJXMgYmVjYXVzZSBvZiBtZW1vcnkgY29uc3RyYWludAppMgAAACgKAAAAUgYAAAB0CwAAAGFzc2VydEZhbHNlUnkBAABSfgEAAFIEAAAAUkcAAABSOAEAAFLjAAAAUjUAAAB0AwAAAG1heCgCAAAAUuoAAAB0BwAAAG1heHNpemUoBAAAAFLaAAAAdAYAAABtZW11c2V0BwAAAG1pbnNpemV0CAAAAG92ZXJoZWFkKAAAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHl0BwAAAHdyYXBwZXIZBAAAcxYAAAAAAQYFBgEiAhQBDAIGAQwBEQEEAhcBKAMAAABSiwEAAFKKAQAAUowBAAAoAgAAAFLaAAAAUo0BAAAoAwAAAFKKAQAAUosBAABSjAEAACgBAAAAUtoAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHlSdQEAABgEAABzCgAAAAABGBMJAQkBCQEoAAAAACgEAAAAUosBAABSigEAAFKMAQAAUnUBAAAoAAAAACgDAAAAUooBAABSiwEAAFKMAQAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5UicAAAALBAAAcwQAAAAADRUYYwQAAAAFAAAABAAAAAMAAABzHAAAAIcAAIcBAIcCAIcDAGYEAGQBAIYAAH0EAHwEAFMoAgAAAE5jAQAAAAIAAAAEAAAAEwAAAHM3AAAAhwEAhwAAhwIAhwQAZgQAZAEAhgAAfQEAiAQAfAEAXwAAiAIAfAEAXwEAiAMAfAEAXwIAfAEAUygCAAAATmMBAAAAAgAAAAUAAAATAAAAc2YAAAB0AABzDwBkAQB9AQBuBgCIAwB9AQB0AABzIgCIAAAMclkAdAAAfAEAiAIAFGsAAHJZAHQBAHJVAHQCAGoDAGoEAGQCAIgBAGoFAGYBABaDAQABbgAAZAAAU4gBAHwAAHwBAIMCAFMoAwAAAE5pGxQAAHMpAAAAU2tpcHBpbmcgJXMgYmVjYXVzZSBvZiBtZW1vcnkgY29uc3RyYWludAooBgAAAFKBAQAAUgQAAABSRwAAAFI4AQAAUuMAAABSNQAAACgCAAAAUuoAAABSiQEAACgEAAAAdAcAAABkcnlfcnVuUtoAAABSigEAAFJoAQAAKAAAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHlSjQEAADQEAABzFAAAAAABBgEJAgYCDQEQAQYBDAERAQQCKAMAAABSaAEAAFKKAQAAUowBAAAoAgAAAFLaAAAAUo0BAAAoBAAAAFKOAQAAUooBAABSjAEAAFJoAQAAKAEAAABS2gAAAHNYAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weVJ1AQAAMwQAAHMKAAAAAAEYDgkBCQEJASgAAAAAKAUAAABSaAEAAFKKAQAAUowBAABSjgEAAFJ1AQAAKAAAAAAoBAAAAFKOAQAAUooBAABSjAEAAFJoAQAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5dBMAAABwcmVjaXNpb25iaWdtZW10ZXN0MgQAAHMEAAAAAAEYE2MBAAAAAgAAAAIAAAADAAAAcxMAAACHAABmAQBkAQCGAAB9AQB8AQBTKAIAAABzMAAAAERlY29yYXRvciBmb3IgdGVzdHMgdGhhdCBmaWxsIHRoZSBhZGRyZXNzIHNwYWNlLmMBAAAAAQAAAAMAAAATAAAAc0AAAAB0AAB0AQBrAAByMgB0AgByPAB0AwBqBABqBQBkAQCIAABqBgBmAQAWgwEAAXE8AG4KAIgAAHwAAIMBAFNkAABTKAIAAABOcykAAABTa2lwcGluZyAlcyBiZWNhdXNlIG9mIG1lbW9yeSBjb25zdHJhaW50CigHAAAAUgYAAABSggEAAFIEAAAAUkcAAABSOAEAAFLjAAAAUjUAAAAoAQAAAFLqAAAAKAEAAABS2gAAACgAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5Uo0BAABKBAAAcwoAAAAAAQwBBgEMARQCKAAAAAAoAgAAAFLaAAAAUo0BAAAoAAAAACgBAAAAUtoAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHlSKAAAAEgEAABzBAAAAAACDwdjAAAAAAAAAAABAAAAQgAAAHMRAAAAZQAAWgEAZAAAhAAAWgIAUlMoAQAAAGMCAAAAAwAAAAIAAABDAAAAcxoAAAB0AABqAQCDAAB9AgB8AQB8AgCDAQABfAIAUygBAAAATigCAAAAUkAAAAB0CgAAAFRlc3RSZXN1bHQoAwAAAFLqAAAAUmYBAABSaQEAACgAAAAAKAAAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHl0AwAAAHJ1blcEAABzBgAAAAABDAEKASgDAAAAUjUAAABSNgAAAFKRAQAAKAAAAAAoAAAAACgAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5UikAAABWBAAAcwIAAAAGAWMBAAAAAQAAAAEAAABDAAAAcwQAAAB8AABTKAEAAABOKAAAAAAoAQAAAFJiAAAAKAAAAAAoAAAAAHNYAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weXQDAAAAX2lkXAQAAHMCAAAAAAFjAQAAAAEAAAADAAAAQwAAAHMqAAAAdAAAfAAAgwEAchAAdAEAU3QCAGoDAGQBAGoEAHwAAIMBAIMBAFNkAABTKAIAAABOcx0AAAByZXNvdXJjZSB7MCFyfSBpcyBub3QgZW5hYmxlZCgFAAAAUg0AAABSkgEAAFJAAAAAdAQAAABza2lwdAYAAABmb3JtYXQoAQAAAFKJAAAAKAAAAAAoAAAAAHNYAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weXQRAAAAcmVxdWlyZXNfcmVzb3VyY2VfBAAAcwYAAAAAAQwBBAJjAQAAAAEAAAADAAAAQwAAAHMTAAAAdAAAZAEAdAEAgwABfAAAgwEAUygCAAAAczkAAAAKICAgIERlY29yYXRvciBmb3IgdGVzdHMgb25seSBhcHBsaWNhYmxlIG9uIENQeXRob24uCiAgICB0BwAAAGNweXRob24oAgAAAHQLAAAAaW1wbF9kZXRhaWxSTwAAACgBAAAAUmYBAAAoAAAAACgAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5Ui8AAABlBAAAcwIAAAAABGMBAAAABAAAAAMAAABLAAAAc30AAAB0AAB8AQCNAAByEAB0AQBTfAAAZAAAawgAcnAAdAMAfAEAgwEAXAIAfQIAfQMAfAMAcj0AZAEAfQAAbgYAZAIAfQAAdAQAfAIAagUAgwAAgwEAfQIAfAAAagYAZAMAagcAfAIAgwEAgwEAfQAAbgAAdAgAagkAfAAAgwEAUygEAAAATnMqAAAAaW1wbGVtZW50YXRpb24gZGV0YWlsIG5vdCBhdmFpbGFibGUgb24gezB9cyUAAABpbXBsZW1lbnRhdGlvbiBkZXRhaWwgc3BlY2lmaWMgdG8gezB9cwQAAAAgb3IgKAoAAABSMAAAAFKSAQAAUlIAAAB0DQAAAF9wYXJzZV9ndWFyZHN0BgAAAHNvcnRlZFIeAQAAUpQBAABSewAAAFJAAAAAUpMBAAAoBAAAAFJFAAAAdAYAAABndWFyZHN0CgAAAGd1YXJkbmFtZXN0BwAAAGRlZmF1bHQoAAAAACgAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5UpcBAABrBAAAcxQAAAAAAQwBBAEMARIBBgEJAgYBEgEbAWMBAAAAAgAAAAMAAABDAAAAczIAAAB8AABzFwBpAQB0AABkAQA2dAEAZgIAU3wAAGoCAIMAAGQCABl9AQB8AAB8AQAMZgIAUygDAAAATlKWAQAAaQAAAAAoAwAAAFJPAAAAUlEAAAB0BgAAAHZhbHVlcygCAAAAUpoBAAB0BwAAAGlzX3RydWUoAAAAACgAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5UpgBAAB4BAAAcwgAAAAAAgYBEQEQAmMAAAAAAgAAAAMAAABLAAAAcy4AAAB0AAB8AACDAQBcAgB9AAB9AQB8AABqAQB0AgBqAwCDAABqBACDAAB8AQCDAgBTKAEAAABzNQEAAFRoaXMgZnVuY3Rpb24gcmV0dXJucyBUcnVlIG9yIEZhbHNlIGRlcGVuZGluZyBvbiB0aGUgaG9zdCBwbGF0Zm9ybS4KICAgICAgIEV4YW1wbGVzOgogICAgICAgICAgaWYgY2hlY2tfaW1wbF9kZXRhaWwoKTogICAgICAgICAgICAgICAjIG9ubHkgb24gQ1B5dGhvbiAoZGVmYXVsdCkKICAgICAgICAgIGlmIGNoZWNrX2ltcGxfZGV0YWlsKGp5dGhvbj1UcnVlKTogICAgIyBvbmx5IG9uIEp5dGhvbgogICAgICAgICAgaWYgY2hlY2tfaW1wbF9kZXRhaWwoY3B5dGhvbj1GYWxzZSk6ICAjIGV2ZXJ5d2hlcmUgZXhjZXB0IG9uIENQeXRob24KICAgICgFAAAAUpgBAABSjQAAAHQIAAAAcGxhdGZvcm10FQAAAHB5dGhvbl9pbXBsZW1lbnRhdGlvblKAAQAAKAIAAABSmgEAAFKcAQAAKAAAAAAoAAAAAHNYAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weVIwAAAAggQAAHMEAAAAAAcSAWMBAAAABAAAAAQAAABDAAAAc9cAAAB0AAByIQB0AQBqAgB0AwBqBABkAQBkAgCDAQF9AQBuCQB0BQCDAAB9AQB8AQBqBgB8AACDAQB9AgB8AgBqBwCDAABz0wB0CAB8AgBqCQCDAQBkAwBrAgByeAB8AgBqCgAMcngAfAIAagkAZAQAGWQDABl9AwBuTAB0CAB8AgBqCgCDAQBkAwBrAgByqwB8AgBqCQAMcqsAfAIAagoAZAQAGWQDABl9AwBuGQBkBQB9AwB0AABzxAB8AwBkBgA3fQMAbgAAdAsAfAMAgwEAggEAbgAAZAcAUygIAAAAczIAAABSdW4gdGVzdHMgZnJvbSBhIHVuaXR0ZXN0LlRlc3RTdWl0ZS1kZXJpdmVkIGNsYXNzLnQJAAAAdmVyYm9zaXR5aQIAAABpAQAAAGkAAAAAcxgAAABtdWx0aXBsZSBlcnJvcnMgb2NjdXJyZWRzIQAAADsgcnVuIGluIHZlcmJvc2UgbW9kZSBmb3IgZGV0YWlsc04oDAAAAFIEAAAAUkAAAAB0DgAAAFRleHRUZXN0UnVubmVyUkcAAABSZQAAAFIpAAAAUpEBAAB0DQAAAHdhc1N1Y2Nlc3NmdWxSqQAAAHQGAAAAZXJyb3JzdAgAAABmYWlsdXJlc1IBAAAAKAQAAAB0BQAAAHN1aXRldAYAAABydW5uZXJSaQEAAFI6AQAAKAAAAAAoAAAAAHNYAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weXQKAAAAX3J1bl9zdWl0ZY4EAABzGgAAAAACBgEbAgkCDwEMAR8BFAEfARQCBgEGAQ0BYwAAAAAEAAAABQAAAEcAAABzvwAAAHQAAGoBAHQAAGoCAGYCAH0BAHQAAGoBAIMAAH0CAHiQAHwAAERdiAB9AwB0AwB8AwB0BACDAgByeAB8AwB0BQBqBgBrBgByaQB8AgBqBwB0AABqCAB0BQBqBgB8AwAZgwEAgwEAAXGtAHQJAGQBAIMBAIIBAHElAHQDAHwDAHwBAIMCAHKXAHwCAGoHAHwDAIMBAAFxJQB8AgBqBwB0AABqCgB8AwCDAQCDAQABcSUAV3QLAHwCAIMBAAFkAgBTKAMAAABzMQAAAFJ1biB0ZXN0cyBmcm9tIHVuaXR0ZXN0LlRlc3RDYXNlLWRlcml2ZWQgY2xhc3Nlcy5zKQAAAHN0ciBhcmd1bWVudHMgbXVzdCBiZSBrZXlzIGluIHN5cy5tb2R1bGVzTigMAAAAUkAAAAB0CQAAAFRlc3RTdWl0ZXQIAAAAVGVzdENhc2VSowAAAFJCAAAAUkcAAABSSAAAAHQHAAAAYWRkVGVzdHQNAAAAZmluZFRlc3RDYXNlc1J9AQAAdAkAAABtYWtlU3VpdGVSqAEAACgEAAAAdAcAAABjbGFzc2VzdAsAAAB2YWxpZF90eXBlc1KmAQAAdAMAAABjbHMoAAAAACgAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5UioAAACiBAAAcxYAAAAAAhIBDAENAQ8BDwEgAg8BDwEQAhoBUpYBAAB0BQAAAHdpbjMydBAAAABXSVRIX0RPQ19TVFJJTkdTcxgAAAB0ZXN0IHJlcXVpcmVzIGRvY3N0cmluZ3NjAgAAAAYAAAAFAAAAQwAAAHOsAAAAZAEAZAIAbAAAfQIAfAEAZAIAawgAciEAdAIAfQEAbgYAZAIAfQEAdAMAagQAfQMAdAUAgwAAdAMAXwQAej4AfAIAagYAfAAAZAMAfAEAgwEBXAIAfQQAfQUAfAQAcnkAdAcAZAQAfAQAfAUAZgIAFoMBAIIBAG4AAFdkAgB8AwB0AwBfBABYdAIAcqIAZAUAfAAAaggAfAUAZgIAFkdIbgAAfAQAfAUAZgIAUygGAAAAcw0BAABSdW4gZG9jdGVzdCBvbiB0aGUgZ2l2ZW4gbW9kdWxlLiAgUmV0dXJuICgjZmFpbHVyZXMsICN0ZXN0cykuCgogICAgSWYgb3B0aW9uYWwgYXJndW1lbnQgdmVyYm9zaXR5IGlzIG5vdCBzcGVjaWZpZWQgKG9yIGlzIE5vbmUpLCBwYXNzCiAgICB0ZXN0X3N1cHBvcnQncyBiZWxpZWYgYWJvdXQgdmVyYm9zaXR5IG9uIHRvIGRvY3Rlc3QuICBFbHNlIGRvY3Rlc3QncwogICAgdXN1YWwgYmVoYXZpb3IgaXMgdXNlZCAoaXQgc2VhcmNoZXMgc3lzLmFyZ3YgZm9yIC12KS4KICAgIGn/////TlIEAAAAcxgAAAAlZCBvZiAlZCBkb2N0ZXN0cyBmYWlsZWRzLAAAAGRvY3Rlc3QgKCVzKSAuLi4gJWQgdGVzdHMgd2l0aCB6ZXJvIGZhaWx1cmVzKAkAAAB0BwAAAGRvY3Rlc3RSUgAAAFIEAAAAUkcAAABSZQAAAFIIAAAAdAcAAAB0ZXN0bW9kUgEAAABSNQAAACgGAAAAUl4AAABSoQEAAFKzAQAAdAsAAABzYXZlX3N0ZG91dFLaAAAAUngBAAAoAAAAACgAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5UisAAADABAAAcxwAAAAACAwCDAEJAgYECQEMAQMBGwEGAR0CCgEGARUBYwAAAAAAAAAAAQAAAEMAAABzGwAAAHQAAHITAHQAAGoBAIMAAGYBAFNkAgBTZAAAUygDAAAATmkBAAAAKAEAAABpAQAAACgCAAAAdAYAAAB0aHJlYWR0BgAAAF9jb3VudCgAAAAAKAAAAAAoAAAAAHNYAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weVIsAAAA6AQAAHMGAAAAAAEGAQ0CYwEAAAAEAAAAAwAAAEMAAABzVAAAAHQAAHMKAGQAAFNkAQB9AQB4PQB0AQB8AQCDAQBEXS8AfQIAdAAAagIAgwAAfQMAfAMAfAAAawIAcj8AUG4AAHQDAGoEAGQCAIMBAAFxHQBXZAAAUygDAAAATmkKAAAAZ5qZmZmZmbk/KAUAAABStgEAAFKnAAAAUrcBAABSbAAAAFJtAAAAKAQAAAB0CgAAAG5iX3RocmVhZHN0CgAAAF9NQVhfQ09VTlR0BQAAAGNvdW50UjsBAAAoAAAAACgAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5Ui0AAADuBAAAcxAAAAAAAQYBBAIGARMBDAEMAQQBYwEAAAACAAAAAwAAAAMAAABzLAAAAHQAAHMKAIgAAFN0AQBqAgCIAACDAQCHAABmAQBkAQCGAACDAQB9AQB8AQBTKAIAAABzvwAAAFVzZSB0aGlzIGZ1bmN0aW9uIHdoZW4gdGhyZWFkcyBhcmUgYmVpbmcgdXNlZC4gIFRoaXMgd2lsbAogICAgZW5zdXJlIHRoYXQgdGhlIHRocmVhZHMgYXJlIGNsZWFuZWQgdXAgZXZlbiB3aGVuIHRoZSB0ZXN0IGZhaWxzLgogICAgSWYgdGhyZWFkaW5nIGlzIHVuYXZhaWxhYmxlIHRoaXMgZnVuY3Rpb24gZG9lcyBub3RoaW5nLgogICAgYwAAAAACAAAABQAAABcAAABzKQAAAHQAAIMAAH0BAHoOAIgAAHwAAIwAAFNXZAAAdAEAfAEAjAAAAVhkAABTKAEAAABOKAIAAABSLAAAAFItAAAAKAIAAABSOQEAAHQDAAAAa2V5KAEAAABScAAAACgAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5UnUBAAACBQAAcwgAAAAAAgkBAwEOAigDAAAAUrYBAAB0CQAAAGZ1bmN0b29sc3QFAAAAd3JhcHMoAgAAAFJwAAAAUnUBAAAoAAAAACgBAAAAUnAAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHl0DAAAAHJlYXBfdGhyZWFkc/oEAABzCAAAAAAFBgEEAh4HYwAAAAADAAAAAwAAAEMAAABzYwAAAHQAAHQBAGQBAIMCAHJfAGQCAH0AAHhHAHQCAHJbAHkvAHQBAGoDAHwAAHQBAGoEAIMCAFwCAH0BAH0CAHwBAGQDAGsCAHJMAFBuAABXcRgAAQEBUHEYAFhxGABXbgAAZAQAUygFAAAAc+UAAABVc2UgdGhpcyBmdW5jdGlvbiBhdCB0aGUgZW5kIG9mIHRlc3RfbWFpbigpIHdoZW5ldmVyIHN1Yi1wcm9jZXNzZXMKICAgIGFyZSBzdGFydGVkLiAgVGhpcyB3aWxsIGhlbHAgZW5zdXJlIHRoYXQgbm8gZXh0cmEgY2hpbGRyZW4gKHpvbWJpZXMpCiAgICBzdGljayBhcm91bmQgdG8gaG9nIHJlc291cmNlcyBhbmQgY3JlYXRlIHByb2JsZW1zIHdoZW4gbG9va2luZwogICAgZm9yIHJlZmxlYWtzLgogICAgdAcAAAB3YWl0cGlkaf////9pAAAAAE4oBQAAAFKbAAAAUmgAAABSTwAAAFK/AQAAdAcAAABXTk9IQU5HKAMAAAB0CwAAAGFueV9wcm9jZXNzdAMAAABwaWR0BgAAAHN0YXR1cygAAAAAKAAAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHlSLgAAAAsFAABzEgAAAAAJDwEGAQkBAwIbAQwBCAEDAWMDAAAABAAAAAcAAABjAAAAc3wAAAB0AAB8AAB8AQCDAgByTgB0AQB8AAB8AQCDAgB9AwB0AgB8AAB8AQB8AgCDAwABegkAZAEAVgFXZAEAdAIAfAAAfAEAfAMAgwMAAVhuKgB0AgB8AAB8AQB8AgCDAwABegkAZAEAVgFXZAEAdAMAfAAAfAEAgwIAAVhkAQBTKAIAAABzbQEAAFRlbXBvcmFyeSBzd2FwIG91dCBhbiBhdHRyaWJ1dGUgd2l0aCBhIG5ldyBvYmplY3QuCgogICAgVXNhZ2U6CiAgICAgICAgd2l0aCBzd2FwX2F0dHIob2JqLCAiYXR0ciIsIDUpOgogICAgICAgICAgICAuLi4KCiAgICAgICAgVGhpcyB3aWxsIHNldCBvYmouYXR0ciB0byA1IGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIHdpdGg6IGJsb2NrLAogICAgICAgIHJlc3RvcmluZyB0aGUgb2xkIHZhbHVlIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrLiBJZiBgYXR0cmAgZG9lc24ndAogICAgICAgIGV4aXN0IG9uIGBvYmpgLCBpdCB3aWxsIGJlIGNyZWF0ZWQgYW5kIHRoZW4gZGVsZXRlZCBhdCB0aGUgZW5kIG9mIHRoZQogICAgICAgIGJsb2NrLgogICAgTigEAAAAUpsAAABSYAAAAFJLAQAAdAcAAABkZWxhdHRyKAQAAABSYgAAAFLvAAAAdAcAAABuZXdfdmFsdAgAAAByZWFsX3ZhbCgAAAAAKAAAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHl0CQAAAHN3YXBfYXR0ch8FAABzFAAAAAANDwEPARABAwEJAhQCEAEDAQkCYwEAAAABAAAABQAAAEMAAABzXAAAAHkOAHwAAGoAAIMAAFNXbkcABHQBAGsKAHJXAAEBAXkbAGQBAGoCAGQCAIQAAHwAAESDAQCDAQBTV3FYAAR0AwBrCgByUwABAQF0BAB8AACDAQBTWG4BAFhkAwBTKAQAAABzWgAAAEVtdWxhdGUgdGhlIHB5M2sgYnl0ZXMoKSBjb25zdHJ1Y3Rvci4KCiAgICBOT1RFOiBUaGlzIGlzIG9ubHkgYSBiZXN0IGVmZm9ydCBmdW5jdGlvbi4KICAgIFKyAAAAYwEAAAACAAAAAwAAAHMAAABzGwAAAHwAAF0RAH0BAHQAAHwBAIMBAFYBcQMAZAAAUygBAAAATigBAAAAdAMAAABjaHIoAgAAAHQCAAAALjBSqgAAACgAAAAAKAAAAABzWAAAAC9idWlsZGJvdC90bXAvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvbGludXgteDg2XzY0L2xpYi9weXRob24yLjcvdGVzdC90ZXN0X3N1cHBvcnQucHlzCQAAADxnZW5leHByPkUFAABzAgAAAAYATigFAAAAdAcAAAB0b2J5dGVzUmEAAABSewAAAHQJAAAAVHlwZUVycm9ydAUAAABieXRlcygBAAAAdAEAAABiKAAAAAAoAAAAAHNYAAAAL2J1aWxkYm90L3RtcC9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9saW51eC14ODZfNjQvbGliL3B5dGhvbjIuNy90ZXN0L3Rlc3Rfc3VwcG9ydC5weVIyAAAAOgUAAHMOAAAAAAUDAg4BDQEDAhsBDQFjAAAAAAEAAAACAAAAQwAAAHMWAAAAZAEAZAIAbAAAfQAAfAAAagEAgwAAUygDAAAAc1oAAABSZXR1cm4gYSBsaXN0IG9mIGNvbW1hbmQtbGluZSBhcmd1bWVudHMgcmVwcm9kdWNpbmcgdGhlIGN1cnJlbnQKICAgIHNldHRpbmdzIGluIHN5cy5mbGFncy5p/////04oAgAAAHQKAAAAc3VicHJvY2Vzc3QcAAAAX2FyZ3NfZnJvbV9pbnRlcnByZXRlcl9mbGFncygBAAAAUs4BAAAoAAAAACgAAAAAc1gAAAAvYnVpbGRib3QvdG1wL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2xpbnV4LXg4Nl82NC9saWIvcHl0aG9uMi43L3Rlc3QvdGVzdF9zdXBwb3J0LnB5dBsAAABhcmdzX2Zyb21faW50ZXJwcmV0ZXJfZmxhZ3NJBQAAcwQAAAAAAwwBYwEAAAABAAAABAAAAEMAAABzHwAAAHQAAGoBAGQBAGQCAHwAAIMDAGoCAIMAAH0AAHwAAFMoAwAAAHPRAAAAU3RyaXAgdGhlIHN0ZGVyciBvZiBhIFB5dGhvbiBwcm9jZXNzIGZyb20gcG90ZW50aWFsIGRlYnVnIG91dHB1dAogICAgZW1pdHRlZCBieSB0aGUgaW50ZXJwcmV0ZXIuCgogICAgVGhpcyB3aWxsIHR5cGljYWxseSBiZSBydW4gb24gdGhlIHJlc3VsdCBvZiB0aGUgY29tbXVuaWNhdGUoKSBtZXRob2QKICAgIG9mIGEgc3VicHJvY2Vzcy5Qb3BlbiBvYmplY3QuCiAgICBzEwAAAFxbXGQrIHJlZnNcXVxyP1xuPyRSsgAAACgDAAAAUvkAAAB0AwAAAHN1YnQFAAAAc3RyaXAoAQAAAFI4AQAAKAAAAAAo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