A/MNCk1crFFjAAAAAAAAAAARAAAAQAAAAHMgAwAAZAAAWgAAZAEAZAIAbAEAWgIAeRAAZAEAZAIAbAMAWgMAV24eAARlBABrCgByQgABAQFlAgBqBQBlBgA9ggAAbgEAWGQBAGQCAGwHAFoHAGQBAGQDAGwIAG0JAFoKAAFkAQBkBABsCwBtCwBaDABtDQBaDgABZAEAZAUAbA8AbRAAWhEAAWQGAGQHAGQIAGQJAGQKAGQLAGQMAGQNAGQOAGQPAGQQAGQRAGQSAGQTAGQUAGQVAGQWAGcRAFoSAGUDAGoTAFoUAGUDAGoVAFoWAGUDAGoXAFoYAGUDAGoZAFoaAFsDAGUHAGobAGQXAGQYAGUcAGQZAGQaAGQbAGQcAIMBAwFlHQBaHgBkHQBlHwBmAQBkHgCEAACDAABZWiAAZSEAYSIAZSEAYSMAZB8AhAAAWiQAZCAAhAAAWiUAZRYAWiYAZCEAhAAAWicAZCIAZSAAZgEAZCMAhAAAgwAAWVooAGQkAIQAAFopAGQlAGUgAGYBAGQmAIQAAIMAAFlaKgBkJwCEAABaKwBkKABlIABmAQBkKQCEAACDAABZWiwAZCoAhAAAWi0AZCsAZSwAZgEAZCwAhAAAgwAAWVouAGQtAIQAAFovAGQuAGUgAGYBAGQvAIQAAIMAAFlaMABkMABhMQBkMQBkMgCEAQBaMgBlFgCDAABhMwBpAABaNABpAABaNQBkEQBlIABmAQBkMwCEAACDAABZWjYAZDQAhAAAWjcAZDUAZTYAZgEAZDYAhAAAgwAAWVo4AGQ3AGU2AGYBAGQ4AIQAAIMAAFlaOQBkOQCEAABaOgBkOgBlNgBmAQBkOwCEAACDAABZWjsAZDwAhAAAWjwAZTwAWj0AZD0AhAAAWj4AZT4AWj8AZD4AhAAAWkAAZD8AhAAAWkEAZAEAZEAAbAMAbUIAWkIAAWU5AIMAAGpDAFpEAHkUAGQBAGRBAGwDAG1FAFpGAAFXbiEABGUEAGsKAHLzAgEBAWQBAGRCAGxHAG1GAFpGAAFuAQBYZEMAhAAAWkgAZEQAhAAAWkkAZQYAZEUAawIAchwDZUkAgwAAAW4AAGQCAFMoRgAAAHM7AAAAVGhyZWFkIG1vZHVsZSBlbXVsYXRpbmcgYSBzdWJzZXQgb2YgSmF2YSdzIHRocmVhZGluZyBtb2RlbC5p/////04oAQAAAHQFAAAAZGVxdWUoAgAAAHQEAAAAdGltZXQFAAAAc2xlZXAoAQAAAHQKAAAAZm9ybWF0X2V4Y3QLAAAAYWN0aXZlQ291bnR0DAAAAGFjdGl2ZV9jb3VudHQJAAAAQ29uZGl0aW9udA0AAABjdXJyZW50VGhyZWFkdA4AAABjdXJyZW50X3RocmVhZHQJAAAAZW51bWVyYXRldAUAAABFdmVudHQEAAAATG9ja3QFAAAAUkxvY2t0CQAAAFNlbWFwaG9yZXQQAAAAQm91bmRlZFNlbWFwaG9yZXQGAAAAVGhyZWFkdAUAAABUaW1lcnQKAAAAc2V0cHJvZmlsZXQIAAAAc2V0dHJhY2V0BQAAAGxvY2FsdAoAAABzdGFja19zaXpldAYAAABpZ25vcmV0CAAAAGNhdGVnb3J5dAYAAABtb2R1bGV0CQAAAHRocmVhZGluZ3QHAAAAbWVzc2FnZXMNAAAAc3lzLmV4Y19jbGVhcnQIAAAAX1ZlcmJvc2VjAAAAAAAAAAACAAAAQgAAAHMdAAAAZQAAWgEAZAIAZAAAhAEAWgMAZAEAhAAAWgQAUlMoAwAAAGMCAAAAAgAAAAEAAABDAAAAcwQAAABkAABTKAEAAABOKAAAAAAoAgAAAHQEAAAAc2VsZnQHAAAAdmVyYm9zZSgAAAAAKAAAAABzUQAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weXQIAAAAX19pbml0X19PAAAAcwIAAAAAAWMBAAAAAgAAAAEAAABHAAAAcwQAAABkAABTKAEAAABOKAAAAAAoAgAAAFIbAAAAdAQAAABhcmdzKAAAAAAoAAAAAHNRAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAUAAABfbm90ZVEAAABzAgAAAAABTigFAAAAdAgAAABfX25hbWVfX3QKAAAAX19tb2R1bGVfX3QEAAAATm9uZVIdAAAAUh8AAAAoAAAAACgAAAAAKAAAAABzUQAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIaAAAATgAAAHMEAAAABgEMAmMBAAAAAQAAAAEAAABDAAAAcwoAAAB8AABhAABkAQBTKAIAAABzuAAAAFNldCBhIHByb2ZpbGUgZnVuY3Rpb24gZm9yIGFsbCB0aHJlYWRzIHN0YXJ0ZWQgZnJvbSB0aGUgdGhyZWFkaW5nIG1vZHVsZS4KCiAgICBUaGUgZnVuYyB3aWxsIGJlIHBhc3NlZCB0byBzeXMuc2V0cHJvZmlsZSgpIGZvciBlYWNoIHRocmVhZCwgYmVmb3JlIGl0cwogICAgcnVuKCkgbWV0aG9kIGlzIGNhbGxlZC4KCiAgICBOKAEAAAB0DQAAAF9wcm9maWxlX2hvb2soAQAAAHQEAAAAZnVuYygAAAAAKAAAAABzUQAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIRAAAAWQAAAHMCAAAAAAhjAQAAAAEAAAABAAAAQwAAAHMKAAAAfAAAYQAAZAEAUygCAAAAc7QAAABTZXQgYSB0cmFjZSBmdW5jdGlvbiBmb3IgYWxsIHRocmVhZHMgc3RhcnRlZCBmcm9tIHRoZSB0aHJlYWRpbmcgbW9kdWxlLgoKICAgIFRoZSBmdW5jIHdpbGwgYmUgcGFzc2VkIHRvIHN5cy5zZXR0cmFjZSgpIGZvciBlYWNoIHRocmVhZCwgYmVmb3JlIGl0cyBydW4oKQogICAgbWV0aG9kIGlzIGNhbGxlZC4KCiAgICBOKAEAAAB0CwAAAF90cmFjZV9ob29rKAEAAABSJAAAACgAAAAAKAAAAABzUQAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVISAAAAYwAAAHMCAAAAAAhjAAAAAAIAAAADAAAATwAAAHMNAAAAdAAAfAAAfAEAjgAAUygBAAAAczIBAABGYWN0b3J5IGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIG5ldyBy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ICAgICAgaWYgYW5vdGhlciB0aHJlYWQgb3ducyB0aGUgbG9jaywgYmxvY2sgdW50aWwgdGhlIGxvY2sgaXMgdW5sb2NrZWQuIE9uY2UKICAgICAgICB0aGUgbG9jayBpcyB1bmxvY2tlZCAobm90IG93bmVkIGJ5IGFueSB0aHJlYWQpLCB0aGVuIGdyYWIgb3duZXJzaGlwLCBzZXQKICAgICAgICB0aGUgcmVjdXJzaW9uIGxldmVsIHRvIG9uZSwgYW5kIHJldHVybi4gSWYgbW9yZSB0aGFuIG9uZSB0aHJlYWQgaXMKICAgICAgICBibG9ja2VkIHdhaXRpbmcgdW50aWwgdGhlIGxvY2sgaXMgdW5sb2NrZWQsIG9ubHkgb25lIGF0IGEgdGltZSB3aWxsIGJlCiAgICAgICAgYWJsZSB0byBncmFiIG93bmVyc2hpcCBvZiB0aGUgbG9jay4gVGhlcmUgaXMgbm8gcmV0dXJuIHZhbHVlIGluIHRoaXMKICAgICAgICBjYXNlLgoKICAgICAgICBXaGVuIGludm9rZWQgd2l0aCB0aGUgYmxvY2tpbmcgYXJndW1lbnQgc2V0IHRvIHRydWUsIGRvIHRoZSBzYW1lIHRoaW5nCiAgICAgICAgYXMgd2hlbiBjYWxsZWQgd2l0aG91dCBhcmd1bWVudHMsIGFuZCByZXR1cm4gdHJ1ZS4KCiAgICAgICAgV2hlbiBpbnZva2VkIHdpdGggdGhlIGJsb2NraW5nIGFyZ3VtZW50IHNldCB0byBmYWxzZSwgZG8gbm90IGJsb2NrLiBJZiBhCiAgICAgICAgY2FsbCB3aXRob3V0IGFuIGFyZ3VtZW50IHdvdWxkIGJsb2NrLCByZXR1cm4gZmFsc2UgaW1tZWRpYXRlbHk7CiAgICAgICAgb3RoZXJ3aXNlLCBkbyB0aGUgc2FtZSB0aGluZyBhcyB3aGVuIGNhbGxlZCB3aXRob3V0IGFyZ3VtZW50cywgYW5kCiAgICAgICAgcmV0dXJuIHRydWUuCgogICAgICAgIGkBAAAAKAUAAAB0CgAAAF9nZXRfaWRlbnRSKgAAAFIrAAAAUikAAAB0BwAAAGFjcXVpcmUoBAAAAFIbAAAAdAgAAABibG9ja2luZ3QCAAAAbWV0AgAAAHJjKAAAAAAoAAAAAHNRAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UjMAAACSAAAAcxQAAAAAFQkBDwEQAwQBEgEGAQkBCQEDBWMBAAAAAgAAAAMAAABDAAAAc1gAAAB8AABqAAB0AQCDAABrAwByIQB0AgBkAQCDAQCCAQBuAAB8AABqAwBkAgAYBHwAAF8DAH0BAHwBAHNUAGQDAHwAAF8AAHwAAGoFAGoGAIMAAAFuAABkAwBTKAQAAABzbQIAAFJlbGVhc2UgYSBsb2NrLCBkZWNyZW1lbnRpbmcgdGhlIHJlY3Vyc2lvbiBsZXZlbC4KCiAgICAgICAgSWYgYWZ0ZXIgdGhlIGRlY3JlbWVudCBpdCBpcyB6ZXJvLCByZXNldCB0aGUgbG9jayB0byB1bmxvY2tlZCAobm90IG93bmVkCiAgICAgICAgYnkgYW55IHRocmVhZCksIGFuZCBpZiBhbnkgb3RoZXIgdGhyZWFkcyBhcmUgYmxvY2tlZCB3YWl0aW5nIGZvciB0aGUKICAgICAgICBsb2NrIHRvIGJlY29tZSB1bmxvY2tlZCwgYWxsb3cgZXhhY3RseSBvbmUgb2YgdGhlbSB0byBwcm9jZWVkLiBJZiBhZnRlcgogICAgICAgIHRoZSBkZWNyZW1lbnQgdGhlIHJlY3Vyc2lvbiBsZXZlbCBpcyBzdGlsbCBub256ZXJvLCB0aGUgbG9jayByZW1haW5zCiAgICAgICAgbG9ja2VkIGFuZCBvd25lZCBieSB0aGUgY2FsbGluZyB0aHJlYWQuCgogICAgICAgIE9ubHkgY2FsbCB0aGlzIG1ldGhvZCB3aGVuIHRoZSBjYWxsaW5nIHRocmVhZCBvd25zIHRoZSBsb2NrLiBBCiAgICAgICAgUnVudGltZUVycm9yIGlzIHJhaXNlZCBpZiB0aGlzIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiB0aGUgbG9jayBpcwogICAgICAgIHVubG9ja2VkLgoKICAgICAgICBUaGVyZSBpcyBubyByZXR1cm4gdmFsdWUuCgogICAgICAgIHMfAAAAY2Fubm90IHJlbGVhc2UgdW4tYWNxdWlyZWQgbG9ja2kBAAAATigHAAAAUioAAABSMgAAAHQMAAAAUnVudGltZUVycm9yUisAAABSIgAAAFIpAAAAdAcAAAByZWxlYXNlKAIAAABSGwAAAHQFAAAAY291bnQoAAAAACgAAAAAc1EAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSOAAAALoAAABzEAAAAAAQEgEPARQBBgEJAQ0BAwNjBAAAAAQAAAABAAAAQwAAAHMOAAAAfAAAagAAgwAAAWQAAFMoAQAAAE4oAQAAAFI4AAAAKAQAAABSGwAAAHQBAAAAdHQBAAAAdnQCAAAAdGIoAAAAACgAAAAAc1EAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0CAAAAF9fZXhpdF9f1gAAAHMCAAAAAAFjAgAAAAQAAAACAAAAQwAAAHMvAAAAfAEAXAIAfQIAfQMAfAAAagAAagEAgwAAAXwCAHwAAF8CAHwDAHwAAF8DAGQAAFMoAQAAAE4oBAAAAFIpAAAAUjMAAABSKwAAAFIqAAAAKAQAAABSGwAAAHQLAAAAY291bnRfb3duZXJSOQAAAFIwAAAAKAAAAAAoAAAAAHNRAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dBAAAABfYWNxdWlyZV9yZXN0b3Jl2wAAAHMKAAAAAAEMAQ0BCQEJAWMBAAAAAwAAAAIAAABDAAAAczsAAAB8AABqAAB9AQBkAQB8AABfAAB8AABqAQB9AgBkAAB8AABfAQB8AABqAwBqBACDAAABfAEAfAIAZgIAUygCAAAATmkAAAAAKAUAAABSKwAAAFIqAAAAUiIAAABSKQAAAFI4AAAAKAMAAABSGwAAAFI5AAAAUjAAAAAoAAAAACgAAAAAc1EAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0DQAAAF9yZWxlYXNlX3NhdmXjAAAAcwwAAAAAAwkBCQEJAQkBDQFjAQAAAAEAAAACAAAAQwAAAHMQAAAAfAAAagAAdAEAgwAAawIAUygBAAAATigCAAAAUioAAABSMgAAACgBAAAAUhsAAAAoAAAAACgAAAAAc1EAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0CQAAAF9pc19vd25lZO0AAABzAgAAAAABTigNAAAAUiAAAABSIQAAAHQHAAAAX19kb2NfX1IiAAAAUh0AAABSMQAAAFIzAAAAdAkAAABfX2VudGVyX19SOAAAAFI9AAAAUj8AAABSQAAAAFJBAAAAKAAAAAAoAAAAACgAAAAAc1EAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSJgAAAHwAAABzFAAAAAYFBgIMBgkJDCYGAgkcCQUJCAkKYwAAAAACAAAAAwAAAE8AAABzDQAAAHQAAHwAAHwBAI4AAFMoAQAAAHN9AQAARmFjdG9yeSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBuZXcgY29uZGl0aW9uIHZhcmlhYmxlIG9iamVjdC4KCiAgICBBIGNvbmRpdGlvbiB2YXJpYWJsZSBhbGxvd3Mgb25lIG9yIG1vcmUgdGhyZWFkcyB0byB3YWl0IHVudGlsIHRoZXkgYXJlCiAgICBub3RpZmllZCBieSBhbm90aGVyIHRocmVhZC4KCiAgICBJZiB0aGUgbG9jayBhcmd1bWVudCBpcyBnaXZlbiBhbmQgbm90IE5vbmUsIGl0IG11c3QgYmUgYSBMb2NrIG9yIFJMb2NrCiAgICBvYmplY3QsIGFuZCBpdCBpcyB1c2VkIGFzIHRoZSB1bmRlcmx5aW5nIGxvY2suIE90aGVyd2lzZSwgYSBuZXcgUkxvY2sgb2JqZWN0CiAgICBpcyBjcmVhdGVkIGFuZCB1c2VkIGFzIHRoZSB1bmRlcmx5aW5nIGxvY2suCgogICAgKAEAAAB0CgAAAF9Db25kaXRpb24oAgAAAFIeAAAAUicAAAAoAAAAACgAAAAAc1EAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSBgAAAPEAAABzAgAAAAALUkQAAABjAAAAAAAAAAADAAAAQgAAAHN6AAAAZQAAWgEAZAAAWgIAZAwAZAwAZAEAhAIAWgQAZAIAhAAAWgUAZAMAhAAAWgYAZAQAhAAAWgcAZAUAhAAAWggAZAYAhAAAWgkAZAcAhAAAWgoAZAwAZAgAhAEAWgsAZAkAZAoAhAEAWgwAZAsAhAAAWg0AZQ0AWg4AUlMoDQAAAHNsAAAAQ29uZGl0aW9uIHZhcmlhYmxlcyBhbGxvdyBvbmUgb3IgbW9yZSB0aHJlYWRzIHRvIHdhaXQgdW50aWwgdGhleSBhcmUKICAgICAgIG5vdGlmaWVkIGJ5IGFub3RoZXIgdGhyZWFkLgogICAgYwMAAAADAAAABQAAAEMAAABzwgAAAHQAAGoBAHwAAHwCAIMCAAF8AQBkAABrCAByKAB0AwCDAAB9AQBuAAB8AQB8AABfBAB8AQBqBQB8AABfBQB8AQBqBgB8AABfBgB5EAB8AQBqBwB8AABfBwBXbhEABHQIAGsKAHJsAAEBAW4BAFh5EAB8AQBqCQB8AABfCQBXbhEABHQIAGsKAHKQAAEBAW4BAFh5EAB8AQBqCgB8AABfCgBXbhEABHQIAGsKAHK0AAEBAW4BAFhnAAB8AABfCwBkAABTKAEAAABOKAwAAABSGgAAAFIdAAAAUiIAAABSDAAAAHQQAAAAX0NvbmRpdGlvbl9fbG9ja1IzAAAAUjgAAABSQAAAAHQOAAAAQXR0cmlidXRlRXJyb3JSPwAAAFJBAAAAdBMAAABfQ29uZGl0aW9uX193YWl0ZXJzKAMAAABSGwAAAHQEAAAAbG9ja1IcAAAAKAAAAAAoAAAAAHNRAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5Uh0AAAADAQAAcyYAAAAAARABDAEMAQkCDAEMBAMBEAENAQQBAwEQAQ0BBAEDARABDQEEAWMBAAAAAQAAAAEAAABDAAAAcw0AAAB8AABqAABqAQCDAABTKAEAAABOKAIAAABSRQAAAFJDAAAAKAEAAABSGwAAACgAAAAAKAAAAABzUQAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVJDAAAAHAEAAHMCAAAAAAFjAQAAAAIAAAACAAAARwAAAHMQAAAAfAAAagAAagEAfAEAjAAAUygBAAAATigCAAAAUkUAAABSPQAAACgCAAAAUhsAAABSHgAAACgAAAAAKAAAAABzUQAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVI9AAAAHwEAAHMCAAAAAAFjAQAAAAEAAAAEAAAAQwAAAHMaAAAAZAEAfAAAagAAdAEAfAAAagIAgwEAZgIAFlMoAgAAAE5zEwAAADxDb25kaXRpb24oJXMsICVkKT4oAwAAAFJFAAAAdAMAAABsZW5SRwAAACgBAAAAUhsAAAAoAAAAACgAAAAAc1EAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSMQAAACIBAABzAgAAAAABYwEAAAABAAAAAQAAAEMAAABzEQAAAHwAAGoAAGoBAIMAAAFkAABTKAEAAABOKAIAAABSRQAAAFI4AAAAKAEAAABSGwAAACgAAAAAKAAAAABzUQAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVJAAAAAJQEAAHMCAAAAAAFjAgAAAAIAAAABAAAAQwAAAHMRAAAAfAAAagAAagEAgwAAAWQAAFMoAQAAAE4oAgAAAFJFAAAAUjMAAAAoAgAAAFIbAAAAdAEAAAB4KAAAAAAoAAAAAHNRAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5Uj8AAAAoAQAAcwIAAAAAAWMBAAAAAQAAAAIAAABDAAAAcysAAAB8AABqAABqAQBkAQCDAQByIwB8AABqAABqAgCDAAABdAMAU3QEAFNkAABTKAIAAABOaQAAAAAoBQAAAFJFAAAAUjMAAABSOAAAAHQFAAAARmFsc2V0BAAAAFRydWUoAQAAAFIbAAAAKAAAAAAoAAAAAHNRAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UkEAAAArAQAAcwgAAAAAAxIBDQEEAmMCAAAACAAAAAUAAABDAAAAcyMBAAB8AABqAACDAABzGwB0AQBkAQCDAQCCAQBuAAB0AgCDAAB9AgB8AgBqAwCDAAABfAAAagQAagUAfAIAgwEAAXwAAGoGAIMAAH0DAHrEAHwBAGQGAGsIAHJmAHwCAGoDAIMAAAFupwB0CACDAAB8AQAXfQQAZAIAfQUAeGAAdAkActsAfAIAagMAZAMAgwEAfQYAfAYAcpsAUG4AAHwEAHQIAIMAABh9BwB8BwBkAwBrAQByuABQbgAAdAoAfAUAZAQAFHwHAGQFAIMDAH0FAHQLAHwFAIMBAAFxfABXfAYAcw0BeRQAfAAAagQAagwAfAIAgwEAAVdxDQEEdA0AawoAcgkBAQEBcQ0BWG4AAFdkBgB8AABqDgB8AwCDAQABWGQGAFMoBwAAAHNqBAAAV2FpdCB1bnRpbCBub3RpZmllZCBvciB1bnRpbCBhIHRpbWVvdXQgb2NjdXJzLgoKICAgICAgICBJZiB0aGUgY2FsbGluZyB0aHJlYWQgaGFzIG5vdCBhY3F1aXJlZCB0aGUgbG9jayB3aGVuIHRoaXMgbWV0aG9kIGlzCiAgICAgICAgY2FsbGVkLCBhIFJ1bnRpbWVFcnJvciBpcyByYWlzZWQuCgogICAgICAgIFRoaXMgbWV0aG9kIHJlbGVhc2VzIHRoZSB1bmRlcmx5aW5nIGxvY2ssIGFuZCB0aGVuIGJsb2NrcyB1bnRpbCBpdCBpcwogICAgICAgIGF3YWtlbmVkIGJ5IGEgbm90aWZ5KCkgb3Igbm90aWZ5QWxsKCkgY2FsbCBmb3IgdGhlIHNhbWUgY29uZGl0aW9uCiAgICAgICAgdmFyaWFibGUgaW4gYW5vdGhlciB0aHJlYWQsIG9yIHVudGlsIHRoZSBvcHRpb25hbCB0aW1lb3V0IG9jY3Vycy4gT25jZQogICAgICAgIGF3YWtlbmVkIG9yIHRpbWVkIG91dCwgaXQgcmUtYWNxdWlyZXMgdGhlIGxvY2sgYW5kIHJldHVybnMuCgogICAgICAgIFdoZW4gdGhlIHRpbWVvdXQgYXJndW1lbnQgaXMgcHJlc2VudCBhbmQgbm90IE5vbmUsIGl0IHNob3VsZCBiZSBhCiAgICAgICAgZmxvYXRpbmcgcG9pbnQgbnVtYmVyIHNwZWNpZnlpbmcgYSB0aW1lb3V0IGZvciB0aGUgb3BlcmF0aW9uIGluIHNlY29uZHMKICAgICAgICAob3IgZnJhY3Rpb25zIHRoZXJlb2YpLgoKICAgICAgICBXaGVuIHRoZSB1bmRlcmx5aW5nIGxvY2sgaXMgYW4gUkxvY2ssIGl0IGlzIG5vdCByZWxlYXNlZCB1c2luZyBpdHMKICAgICAgICByZWxlYXNlKCkgbWV0aG9kLCBzaW5jZSB0aGlzIG1heSBub3QgYWN0dWFsbHkgdW5sb2NrIHRoZSBsb2NrIHdoZW4gaXQKICAgICAgICB3YXMgYWNxdWlyZWQgbXVsdGlwbGUgdGltZXMgcmVjdXJzaXZlbHkuIEluc3RlYWQsIGFuIGludGVybmFsIGludGVyZmFjZQogICAgICAgIG9mIHRoZSBSTG9jayBjbGFzcyBpcyB1c2VkLCB3aGljaCByZWFsbHkgdW5sb2NrcyBpdCBldmVuIHdoZW4gaXQgaGFzCiAgICAgICAgYmVlbiByZWN1cnNpdmVseSBhY3F1aXJlZCBzZXZlcmFsIHRpbWVzLiBBbm90aGVyIGludGVybmFsIGludGVyZmFjZSBpcwogICAgICAgIHRoZW4gdXNlZCB0byByZXN0b3JlIHRoZSByZWN1cnNpb24gbGV2ZWwgd2hlbiB0aGUgbG9jayBpcyByZWFjcXVpcmVkLgoKICAgICAgICBzHwAAAGNhbm5vdCB3YWl0IG9uIHVuLWFjcXVp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bHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVJEAAAA/gAAAHMYAAAABgMGAg8ZCQMJAwkDCQMJAwkJDEAMGwkJYwAAAAACAAAAAwAAAE8AAABzDQAAAHQAAHwAAHwBAI4AAFMoAQAAAHNPAQAAQSBmYWN0b3J5IGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIG5ldyBzZW1hcGhvcmUuCgogICAgU2VtYXBob3JlcyBtYW5hZ2UgYSBjb3VudGVyIHJlcHJlc2VudGluZyB0aGUgbnVtYmVyIG9mIHJlbGVhc2UoKSBjYWxscyBtaW51cwogICAgdGhlIG51bWJlciBvZiBhY3F1aXJlKCkgY2FsbHMsIHBsdXMgYW4gaW5pdGlhbCB2YWx1ZS4gVGhlIGFjcXVpcmUoKSBtZXRob2QKICAgIGJsb2NrcyBpZiBuZWNlc3NhcnkgdW50aWwgaXQgY2FuIHJldHVybiB3aXRob3V0IG1ha2luZyB0aGUgY291bnRlcgogICAgbmVnYXRpdmUuIElmIG5vdCBnaXZlbiwgdmFsdWUgZGVmYXVsdHMgdG8gMS4KCiAgICAoAQAAAHQKAAAAX1NlbWFwaG9yZSgCAAAAUh4AAABSJwAAACgAAAAAKAAAAABzUQAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVINAAAAmwEAAHMCAAAAAAlSYgAAAGMAAAAAAAAAAAMAAABCAAAAc0EAAABlAABaAQBkAABaAgBkAQBkBgBkAgCEAgBaBABkAQBkAwCEAQBaBQBlBQBaBgBkBACEAABaBwBkBQCEAABaCABSUygHAAAAcyIBAABTZW1hcGhvcmVzIG1hbmFnZSBhIGNvdW50ZXIgcmVwcmVzZW50aW5nIHRoZSBudW1iZXIgb2YgcmVsZWFzZSgpIGNhbGxzCiAgICAgICBtaW51cyB0aGUgbnVtYmVyIG9mIGFjcXVpcmUoKSBjYWxscywgcGx1cyBhbiBpbml0aWFsIHZhbHVlLiBUaGUgYWNxdWlyZSgpCiAgICAgICBtZXRob2QgYmxvY2tzIGlmIG5lY2Vzc2FyeSB1bnRpbCBpdCBjYW4gcmV0dXJuIHdpdGhvdXQgbWFraW5nIHRoZSBjb3VudGVyCiAgICAgICBuZWdhdGl2ZS4gSWYgbm90IGdpdmVuLCB2YWx1ZSBkZWZhdWx0cyB0byAxLgoKICAgIGkBAAAAYwMAAAADAAAAAwAAAEMAAABzSgAAAHwBAGQBAGsAAHIbAHQAAGQCAIMBAIIBAG4AAHQBAGoCAHwAAHwCAIMCAAF0AwB0BACDAACDAQB8AABfBQB8AQB8AABfBgBkAABTKAMAAABOaQAAAABzJAAAAHNlbWFwaG9yZSBpbml0aWFsIHZhbHVlIG11c3QgYmUgPj0gMCgHAAAAUlIAAABSGgAAAFIdAAAAUgYAAABSCwAAAHQQAAAAX1NlbWFwaG9yZV9fY29uZHQRAAAAX1NlbWFwaG9yZV9fdmFsdWUoAwAAAFIbAAAAdAUAAAB2YWx1ZVIcAAAAKAAAAAAoAAAAAHNRAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5Uh0AAACwAQAAcwoAAAAAAQwBDwEQARIBYwIAAAADAAAABgAAAEMAAABzXQAAAHQAAH0CAHwAAGoBAI9IAAF4QAB8AABqAgBkAQBrAgByPAB8AQBzLABQbgAAfAAAagEAagMAgwAAAXETAFd8AABqAgBkAgAYfAAAXwIAdAQAfQIAV2QDAFFYfAIAUygEAAAAcwAEAABBY3F1aXJlIGEgc2VtYXBob3JlLCBkZWNyZW1lbnRpbmcgdGhlIGludGVybmFsIGNvdW50ZXIgYnkgb25lLgoKICAgICAgICBXaGVuIGludm9rZWQgd2l0aG91dCBhcmd1bWVudHM6IGlmIHRoZSBpbnRlcm5hbCBjb3VudGVyIGlzIGxhcmdlciB0aGFuCiAgICAgICAgemVybyBvbiBlbnRyeSwgZGVjcmVtZW50IGl0IGJ5IG9uZSBhbmQgcmV0dXJuIGltbWVkaWF0ZWx5LiBJZiBpdCBpcyB6ZXJvCiAgICAgICAgb24gZW50cnksIGJsb2NrLCB3YWl0aW5nIHVudGlsIHNvbWUgb3RoZXIgdGhyZWFkIGhhcyBjYWxsZWQgcmVsZWFzZSgpIHRvCiAgICAgICAgbWFrZSBpdCBsYXJnZXIgdGhhbiB6ZXJvLiBUaGlzIGlzIGRvbmUgd2l0aCBwcm9wZXIgaW50ZXJsb2NraW5nIHNvIHRoYXQKICAgICAgICBpZiBtdWx0aXBsZSBhY3F1aXJlKCkgY2FsbHMgYXJlIGJsb2NrZWQsIHJlbGVhc2UoKSB3aWxsIHdha2UgZXhhY3RseSBvbmUKICAgICAgICBvZiB0aGVtIHVwLiBUaGUgaW1wbGVtZW50YXRpb24gbWF5IHBpY2sgb25lIGF0IHJhbmRvbSwgc28gdGhlIG9yZGVyIGluCiAgICAgICAgd2hpY2ggYmxvY2tlZCB0aHJlYWRzIGFyZSBhd2FrZW5lZCBzaG91bGQgbm90IGJlIHJlbGllZCBvbi4gVGhlcmUgaXMgbm8KICAgICAgICByZXR1cm4gdmFsdWUgaW4gdGhpcyBjYXNlLgoKICAgICAgICBXaGVuIGludm9rZWQgd2l0aCBibG9ja2luZyBzZXQgdG8gdHJ1ZSwgZG8gdGhlIHNhbWUgdGhpbmcgYXMgd2hlbiBjYWxsZWQKICAgICAgICB3aXRob3V0IGFyZ3VtZW50cywgYW5kIHJldHVybiB0cnVlLgoKICAgICAgICBXaGVuIGludm9rZWQgd2l0aCBibG9ja2luZyBzZXQgdG8gZmFsc2UsIGRvIG5vdCBibG9jay4gSWYgYSBjYWxsIHdpdGhvdXQKICAgICAgICBhbiBhcmd1bWVudCB3b3VsZCBibG9jaywgcmV0dXJuIGZhbHNlIGltbWVkaWF0ZWx5OyBvdGhlcndpc2UsIGRvIHRoZQogICAgICAgIHNhbWUgdGhpbmcgYXMgd2hlbiBjYWxsZWQgd2l0aG91dCBhcmd1bWVudHMsIGFuZCByZXR1cm4gdHJ1ZS4KCiAgICAgICAgaQAAAABpAQAAAE4oBQAAAFJLAAAAUmMAAABSZAAAAFJaAAAAUkwAAAAoAwAAAFIbAAAAUjQAAABSNgAAACgAAAAAKAAAAABzUQAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIzAAAAtwEAAHMSAAAAABQGAQoBEgEGAQQEEQIQBAwBYwEAAAABAAAABgAAAEMAAABzMQAAAHwAAGoAAI8iAAF8AABqAQBkAQAXfAAAXwEAfAAAagAAagIAgwAAAVdkAgBRWGQCAFMoAwAAAHPXAAAAUmVsZWFzZSBhIHNlbWFwaG9yZSwgaW5jcmVtZW50aW5nIHRoZSBpbnRlcm5hbCBjb3VudGVyIGJ5IG9uZS4KCiAgICAgICAgV2hlbiB0aGUgY291bnRlciBpcyB6ZXJvIG9uIGVudHJ5IGFuZCBhbm90aGVyIHRocmVhZCBpcyB3YWl0aW5nIGZvciBpdAogICAgICAgIHRvIGJlY29tZSBsYXJnZXIgdGhhbiB6ZXJvIGFnYWluLCB3YWtlIHVwIHRoYXQgdGhyZWFkLgoKICAgICAgICBpAQAAAE4oAwAAAFJjAAAAUmQAAABSXwAAACgBAAAAUhsAAAAoAAAAACgAAAAAc1EAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSOAAAAN4BAABzBgAAAAAHCgEQBGMEAAAABAAAAAEAAABDAAAAcw4AAAB8AABqAACDAAABZAAAUygBAAAATigBAAAAUjgAAAAoBAAAAFIbAAAAUjoAAABSOwAAAFI8AAAAKAAAAAAoAAAAAHNRAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5Uj0AAADsAQAAcwIAAAAAAU4oCQAAAFIgAAAAUiEAAABSQgAAAFIiAAAAUh0AAABSMwAAAFJDAAAAUjgAAABSPQAAACgAAAAAKAAAAAAoAAAAAHNRAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UmIAAACmAQAAcwwAAAAGBgYEDwcMJQYCCQ5jAAAAAAIAAAADAAAATwAAAHMNAAAAdAAAfAAAfAEAjgAAUygBAAAAc8ICAABBIGZhY3RvcnkgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgbmV3IGJvdW5kZWQgc2VtYXBob3JlLgoKICAgIEEgYm91bmRlZCBzZW1hcGhvcmUgY2hlY2tzIHRvIG1ha2Ugc3VyZSBpdHMgY3VycmVudCB2YWx1ZSBkb2Vzbid0IGV4Y2VlZCBpdHMKICAgIGluaXRpYWwgdmFsdWUuIElmIGl0IGRvZXMsIFZhbHVlRXJyb3IgaXMgcmFpc2VkLiBJbiBtb3N0IHNpdHVhdGlvbnMKICAgIHNlbWFwaG9yZXMgYXJlIHVzZWQgdG8gZ3VhcmQgcmVzb3VyY2VzIHdpdGggbGltaXRlZCBjYXBhY2l0eS4KCiAgICBJZiB0aGUgc2VtYXBob3JlIGlzIHJlbGVhc2VkIHRvbyBtYW55IHRpbWVzIGl0J3MgYSBzaWduIG9mIGEgYnVnLiBJZiBub3QKICAgIGdpdmVuLCB2YWx1ZSBkZWZhdWx0cyB0byAxLgoKICAgIExpa2UgcmVndWxhciBzZW1hcGhvcmVzLCBib3VuZGVkIHNlbWFwaG9yZXMgbWFuYWdlIGEgY291bnRlciByZXByZXNlbnRpbmcKICAgIHRoZSBudW1iZXIgb2YgcmVsZWFzZSgpIGNhbGxzIG1pbnVzIHRoZSBudW1iZXIgb2YgYWNxdWlyZSgpIGNhbGxzLCBwbHVzIGFuCiAgICBpbml0aWFsIHZhbHVlLiBUaGUgYWNxdWlyZSgpIG1ldGhvZCBibG9ja3MgaWYgbmVjZXNzYXJ5IHVudGlsIGl0IGNhbiByZXR1cm4KICAgIHdpdGhvdXQgbWFraW5nIHRoZSBjb3VudGVyIG5lZ2F0aXZlLiBJZiBub3QgZ2l2ZW4sIHZhbHVlIGRlZmF1bHRzIHRvIDEuCgogICAgKAEAAAB0EQAAAF9Cb3VuZGVkU2VtYXBob3JlKAIAAABSHgAAAFInAAAAKAAAAAAoAAAAAHNRAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5Ug4AAADwAQAAcwIAAAAAEFJmAAAAYwAAAAAAAAAAAwAAAEIAAABzJgAAAGUAAFoBAGQAAFoCAGQBAGQEAGQCAIQCAFoEAGQDAIQAAFoFAFJTKAUAAABz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AF8LAHQMAIMAAHwAAF8NAHQOAHwAAF8PAHQQAHQRAIMAAIMBAHwAAF8SAHQTAHwAAF8UAHQVAGoWAHwAAF8XAGQBAFMoAgAAAHNDAwAAVGhpcyBjb25zdHJ1Y3RvciBzaG91bGQgYWx3YXlzIGJlIGNhbGxlZCB3aXRoIGtleXdvcmQgYXJndW1lbnRzLiBBcmd1bWVudHMgYXJlOgoKICAgICAgICAqZ3JvdXAqIHNob3VsZCBiZSBOb25lOyByZXNlcnZlZCBmb3IgZnV0dXJlIGV4dGVuc2lvbiB3aGVuIGEgVGhyZWFkR3JvdXAKICAgICAgICBjbGFzcyBpcyBpbXBsZW1lbnRlZC4KCiAgICAgICAgKnRhcmdldCogaXMgdGhlIGNhbGxhYmxlIG9iamVjdCB0byBiZSBpbnZva2VkIGJ5IHRoZSBydW4oKQogICAgICAgIG1ldGhvZC4gRGVmYXVsdHMgdG8gTm9uZSwgbWVhbmluZyBub3RoaW5nIGlzIGNhbGxlZC4KCiAgICAgICAgKm5hbWUqIGlzIHRoZSB0aHJlYWQgbmFtZS4gQnkgZGVmYXVsdCwgYSB1bmlxdWUgbmFtZSBpcyBjb25zdHJ1Y3RlZCBvZgogICAgICAgIHRoZSBmb3JtICJUaHJlYWQtTiIgd2hlcmUgTiBpcyBhIHNtYWxsIGRlY2ltYWwgbnVtYmVyLgoKICAgICAgICAqYXJncyogaXMgdGhlIGFyZ3VtZW50IHR1cGxlIGZvciB0aGUgdGFyZ2V0IGludm9jYXRpb24uIERlZmF1bHRzIHRvICgpLgoKICAgICAgICAqa3dhcmdzKiBpcyBhIGRpY3Rpb25hcnkgb2Yga2V5d29yZCBhcmd1bWVudHMgZm9yIHRoZSB0YXJnZXQKICAgICAgICBpbnZvY2F0aW9uLiBEZWZhdWx0cyB0byB7fS4KCiAgICAgICAgSWYgYSBzdWJjbGFzcyBvdmVycmlkZXMgdGhlIGNvbnN0cnVjdG9yLCBpdCBtdXN0IG1ha2Ugc3VyZSB0byBpbnZva2UKICAgICAgICB0aGUgYmFzZSBjbGFzcyBjb25zdHJ1Y3RvciAoVGhyZWFkLl9faW5pdF9fKCkpIGJlZm9yZSBkb2luZyBhbnl0aGluZwogICAgICAgIGVsc2UgdG8gdGhlIHRocmVhZC4KCk4oGAAAAFIaAAAAUh0AAABSIgAAAHQPAAAAX1RocmVhZF9fdGFyZ2V0dAMAAABzdHJScgAAAHQNAAAAX1RocmVhZF9fbmFtZXQNAAAAX1RocmVhZF9fYXJnc3QPAAAAX1RocmVhZF9fa3dhcmdzdAsAAABfc2V0X2RhZW1vbnQRAAAAX1RocmVhZF9fZGFlbW9uaWN0DgAAAF9UaHJlYWRfX2lkZW50UgoAAAB0EAAAAF9UaHJlYWRfX3N0YXJ0ZWRSSwAAAHQQAAAAX1RocmVhZF9fc3RvcHBlZFIGAAAAUgsAAAB0DgAAAF9UaHJlYWRfX2Jsb2NrUkwAAAB0FAAAAF9UaHJlYWRfX2luaXRpYWxpemVkdAQAAABfc3lzdAYAAABzdGRlcnJ0DwAAAF9UaHJlYWRfX3N0ZGVycigHAAAAUhsAAAB0BQAAAGdyb3VwdAYAAAB0YXJnZXRSLQAAAFIeAAAAUicAAABSHAAAACgAAAAAKAAAAABzUQAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIdAAAAjgIAAHMcAAAAABgQAQwBCQEJARgBCQEJAQ8BCQEMAQkBEgEJA2MBAAAAAQAAAAMAAABDAAAAczAAAAB0AAB8AABkAQCDAgByHwB8AABqAQBqAgCDAAABbgAAfAAAagMAagQAgwAAAWQAAFMoAgAAAE5SfQAAACgFAAAAdAcAAABoYXNhdHRyUn0AAABSHQAAAFJ7AAAAUmsAAAAoAQAAAFIbAAAAKAAAAAAoAAAAAHNRAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5UmsAAAC3AgAAcwYAAAAAAw8BEAFjAQAAAAEAAAABAAAAQwAAAHMHAAAAfAAAagAAUygBAAAATigBAAAAUn0AAAAoAQAAAFIbAAAAKAAAAAAoAAAAAHNRAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAYAAABfYmxvY2u+AgAAcwIAAAAAA2MBAAAAAQAAAAEAAABDAAAAcwoAAAB0AACDAABqAQBTKAEAAABOKAIAAABSCAAAAHQGAAAAZGFlbW9uKAEAAABSGwAAACgAAAAAKAAAAABzUQAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVJ4AAAAwwIAAHMCAAAAAAJjAQAAAAIAAAAEAAAAQwAAAHODAAAAZAEAfQEAfAAAagAAagEAgwAAch4AZAIAfQEAbgAAfAAAagIAcjAAZAMAfQEAbgAAfAAAagMAckYAfAEAZAQAN30BAG4AAHwAAGoEAGQAAGsJAHJpAHwBAGQFAHwAAGoEABY3fQEAbgAAZAYAfAAAagYAagcAfAAAaggAfAEAZgMAFlMoBwAAAE50BwAAAGluaXRpYWx0BwAAAHN0YXJ0ZWR0BwAAAHN0b3BwZWRzBwAAACBkYWVtb25zAwAAACAlc3MMAAAAPCVzKCVzLCAlcyk+KAkAAABSewAAAFJvAAAAUnwAAABSeQAAAFJ6AAAAUiIAAABSLwAAAFIgAAAAUnUAAAAoAgAAAFIbAAAAdAYAAABzdGF0dXMoAAAAACgAAAAAc1EAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSMQAAAMcCAABzFAAAAAACBgEPAQkBCQEJAQkBDQEPARQBYwEAAAABAAAABwAAAEMAAABznQAAAHwAAGoAAHMYAHQBAGQBAIMBAIIBAG4AAHwAAGoCAGoDAIMAAHI2AHQBAGQCAIMBAIIBAG4AAHQEAI8PAAF8AAB0BQB8AAA8V2QDAFFYeRQAdAYAfAAAagcAZAQAgwIAAVduKAAEdAgAawoAcosAAQEBdAQAjwwAAXQFAHwAAD1XZAMAUViCAABuAQBYfAAAagIAagkAgwAAAWQDAFMoBQAAAHMtAQAAU3RhcnQgdGhlIHRocmVhZCdzIGFjdGl2aXR5LgoKICAgICAgICBJdCBtdXN0IGJlIGNhbGxlZCBhdCBtb3N0IG9uY2UgcGVyIHRocmVhZCBvYmplY3QuIEl0IGFycmFuZ2VzIGZvciB0aGUKICAgICAgICBvYmplY3QncyBydW4oKSBtZXRob2QgdG8gYmUgaW52b2tlZCBpbiBhIHNlcGFyYXRlIHRocmVhZCBvZiBjb250cm9sLgoKICAgICAgICBUaGlzIG1ldGhvZCB3aWxsIHJhaXNlIGEgUnVudGltZUVycm9yIGlmIGNhbGxlZCBtb3JlIHRoYW4gb25jZSBvbiB0aGUKICAgICAgICBzYW1lIHRocmVhZCBvYmplY3QuCgogICAgICAgIHMcAAAAdGhyZWFkLl9faW5pdF9fKCkgbm90IGNhbGxlZHMgAAAAdGhyZWFkcyBjYW4gb25seSBiZSBzdGFydGVkIG9uY2VOKAAAAAAoCgAAAFJ+AAAAUjcAAABSewAAAFJvAAAAdBIAAABfYWN0aXZlX2xpbWJvX2xvY2t0BgAAAF9saW1ib3QRAAAAX3N0YXJ0X25ld190aHJlYWR0EgAAAF9UaHJlYWRfX2Jvb3RzdHJhcHQJAAAARXhjZXB0aW9uUloAAAAoAQAAAFIbAAAAKAAAAAAoAAAAAHNRAAAAL3RtcC9uZGstVXNlci9idWlsZGhvc3QvaW5zdGFsbC9wcmVidWlsdC9kYXJ3aW4teDg2XzY0L2xpYi9weXRob24yLjcvdGhyZWFkaW5nLnB5dAUAAABzdGFydNQCAABzGgAAAAAKCQEPAQ8BDwMHARABAwEUAQ0BBwENAQcBYwEAAAABAAAABAAAAEMAAABzQAAAAHomAHwAAGoAAHIlAHwAAGoAAHwAAGoBAHwAAGoCAI4AAAFuAABXZAEAfAAAYAAAfAAAYAEAfAAAYAIAWGQBAFMoAgAAAHNYAQAATWV0aG9kIHJlcHJlc2VudGluZyB0aGUgdGhyZWFkJ3MgYWN0aXZpdHkuCgogICAgICAgIFlvdSBtYXkgb3ZlcnJpZGUgdGhpcyBtZXRob2QgaW4gYSBzdWJjbGFzcy4gVGhlIHN0YW5kYXJkIHJ1bigpIG1ldGhvZAogICAgICAgIGludm9rZXMgdGhlIGNhbGxhYmxlIG9iamVjdCBwYXNzZWQgdG8gdGhlIG9iamVjdCdzIGNvbnN0cnVjdG9yIGFzIHRoZQogICAgICAgIHRhcmdl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byBzZW1hbnRpY3MuIE11bHRpcGxlIHRocmVhZHMgbWF5IGJlIGdpdmVuIHRoZSBzYW1lIG5hbWUuIFRoZQogICAgICAgIGluaXRpYWwgbmFtZSBpcyBzZXQgYnkgdGhlIGNvbnN0cnVjdG9yLgoKICAgICAgICAoAQAAAFJ1AAAAKAEAAABSGwAAACgAAAAAKAAAAABzUQAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVItAAAAxQMAAHMCAAAAAAljAgAAAAIAAAACAAAAQwAAAHMTAAAAdAAAfAEAgwEAfAAAXwEAZAAAUygBAAAATigCAAAAUnQAAABSdQAAACgCAAAAUhsAAABSLQAAACgAAAAAKAAAAABzUQAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVItAAAA0AMAAHMCAAAAAANjAQAAAAEAAAABAAAAQwAAAHMHAAAAfAAAagAAUygBAAAAczsBAABUaHJlYWQgaWRlbnRpZmllciBvZiB0aGlzIHRocmVhZCBvciBOb25lIGlmIGl0IGhhcyBub3QgYmVlbiBzdGFydGVkLgoKICAgICAgICBUaGlzIGlzIGEgbm9uemVybyBpbnRlZ2VyLiBTZWUgdGhlIHRocmVhZC5nZXRfaWRlbnQoKSBmdW5jdGlvbi4gVGhyZWFkCiAgICAgICAgaWRlbnRpZmllcnMgbWF5IGJlIHJlY3ljbGVkIHdoZW4gYSB0aHJlYWQgZXhpdHMgYW5kIGFub3RoZXIgdGhyZWFkIGlzCiAgICAgICAgY3JlYXRlZC4gVGhlIGlkZW50aWZpZXIgaXMgYXZhaWxhYmxlIGV2ZW4gYWZ0ZXIgdGhlIHRocmVhZCBoYXMgZXhpdGVkLgoKICAgICAgICAoAQAAAFJ6AAAAKAEAAABSGwAAACgAAAAAKAAAAABzUQAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weXQFAAAAaWRlbnTVAwAAcwIAAAAACmMBAAAAAQAAAAIAAABDAAAAcxcAAAB8AABqAABqAQCDAABvFgB8AABqAgAMUygBAAAAc/YAAABSZXR1cm4gd2hldGhlciB0aGUgdGhyZWFkIGlzIGFsaXZlLgoKICAgICAgICBUaGlzIG1ldGhvZCByZXR1cm5zIFRydWUganVzdCBiZWZvcmUgdGhlIHJ1bigpIG1ldGhvZCBzdGFydHMgdW50aWwganVzdAogICAgICAgIGFmdGVyIHRoZSBydW4oKSBtZXRob2QgdGVybWluYXRlcy4gVGhlIG1vZHVsZSBmdW5jdGlvbiBlbnVtZXJhdGUoKQogICAgICAgIHJldHVybnMgYSBsaXN0IG9mIGFsbCBhbGl2ZSB0aHJlYWRzLgoKICAgICAgICAoAwAAAFJ7AAAAUm8AAABSfAAAACgBAAAAUhsAAAAoAAAAACgAAAAAc1EAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHl0BwAAAGlzQWxpdmXhAwAAcwIAAAAACWMBAAAAAQAAAAEAAABDAAAAcwcAAAB8AABqAABTKAEAAABz3AEAAEEgYm9vbGVhbiB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgdGhpcyB0aHJlYWQgaXMgYSBkYWVtb24gdGhyZWFkIChUcnVlKSBvciBub3QgKEZhbHNlKS4KCiAgICAgICAgVGhpcyBtdXN0IGJlIHNldCBiZWZvcmUgc3RhcnQoKSBpcyBjYWxsZWQsIG90aGVyd2lzZSBSdW50aW1lRXJyb3IgaXMKICAgICAgICByYWlzZWQuIEl0cyBpbml0aWFsIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSBjcmVhdGluZyB0aHJlYWQ7IHRoZQogICAgICAgIG1haW4gdGhyZWFkIGlzIG5vdCBhIGRhZW1vbiB0aHJlYWQgYW5kIHRoZXJlZm9yZSBhbGwgdGhyZWFkcyBjcmVhdGVkIGluCiAgICAgICAgdGhlIG1haW4gdGhyZWFkIGRlZmF1bHQgdG8gZGFlbW9uID0gRmFsc2UuCgogICAg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AAAAKAAAAAAoAAAAACgAAAAAc1EAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZfNjQvbGliL3B5dGhvbjIuNy90aHJlYWRpbmcucHlSwQAAAGYEAABzBgAAAAYCCQ0JA2MAAAAAAAAAAAUAAABDAAAAcysAAAB5DwB0AAB0AQCDAAAZU1duFQAEdAIAawoAciYAAQEBdAMAgwAAU1hkAQBTKAIAAABz7wAAAFJldHVybiB0aGUgY3VycmVudCBUaHJlYWQgb2JqZWN0LCBjb3JyZXNwb25kaW5nIHRvIHRoZSBjYWxsZXIncyB0aHJlYWQgb2YgY29udHJvbC4KCiAgICBJZiB0aGUgY2FsbGVyJ3MgdGhyZWFkIG9mIGNvbnRyb2wgd2FzIG5vdCBjcmVhdGVkIHRocm91Z2ggdGhlIHRocmVhZGluZwogICAgbW9kdWxlLCBhIGR1bW15IHRocmVhZCBvYmplY3Qgd2l0aCBsaW1pdGVkIGZ1bmN0aW9uYWxpdHkgaXMgcmV0dXJuZWQuCgogICAgTigEAAAAUiwAAABSMgAAAFIuAAAAUsEAAAAoAAAAACgAAAAAKAAAAABzUQAAAC90bXAvbmRrLVVzZXIvYnVpbGRob3N0L2luc3RhbGwvcHJlYnVpbHQvZGFyd2luLXg4Nl82NC9saWIvcHl0aG9uMi43L3RocmVhZGluZy5weVIHAAAAfgQAAHMIAAAAAAcDAQ8BDQJjAAAAAAAAAAAHAAAAQwAAAHMlAAAAdAAAjxkAAXQBAHQCAIMBAHQBAHQDAIMBABdTV2QBAFFYZAEAUygCAAAAc5IAAABSZXR1cm4gdGhlIG51bWJlciBvZiBUaHJlYWQgb2JqZWN0cyBjdXJyZW50bHkgYWxpdmUuCgogICAgVGhlIHJldHVybmVkIGNvdW50IGlzIGVxdWFsIHRvIHRoZSBsZW5ndGggb2YgdGhlIGxpc3QgcmV0dXJuZWQgYnkKICAgIGVudW1lcmF0ZSgpLgoKICAgIE4oBAAAAFKLAAAAUkkAAABSLAAAAFKMAAAAKAAAAAAoAAAAACgAAAAAc1EAAAAvdG1wL25kay1Vc2VyL2J1aWxkaG9zdC9pbnN0YWxsL3ByZWJ1aWx0L2Rhcndpbi14ODZf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